Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
désolé encore de vous embêter avec mes problèmes, mais celui-ci, j'avoue ne pas trop le comprendre et il me taraude assez. Et je ne savais pas trop comment nommer mon sujet.
Tout d'abord je vais commencer par une question de base, peut-être assez bête.
Admettons que j'exécute une requête SQL dans la méthode Init() d'un controller et que je fais un print_r du résultat. Est-ce normal qu'il me l'affiche 3 fois avant tout code HTML et une nouvelle fois dans la variable layout->content() ?
Et d'(autre part, ce que je ne trouve pas normal c'est que si j'exécute cette requête dans une méthode de base totoController et que j'affiche le db profiler, il m'affiche : 22 requêtes exécutées. Et si je la coupe colle dans le init(), on passe à 31 requêtes ! J'ai testé plusieurs fois ce couper coller dans les 2 sens, et j'arrive toujours au même résultat.
J'ai désactivé les plugins ACL et Auth au cas où mais rien n'y fait (dans le cas où il y aurait des redirections douteuses).
Par ailleurs, il arrive sur certaines méthodes que la méthode en question soit appelée deux fois l'une après l'autre et je n'arrive pas du tout à savoir pourquoi.
Si quelqu'un a déjà eu le problème ou ne serait-ce qu'une piste ?
Merci,
Hors ligne
Hello,
Je dirais que c'est possible si tu utilises l'ActionStack ou l'aide de vue $this->action() en appelant des actions du même contrôleur.
A+
Hors ligne
Salut,
Merci pour ta réponse.
En effet j'utilise un actionStack pour afficher le footer et un éventuel formulaire de login qui sont situés dans ce controller. J'utilise actionStack dans un plugin.
$actionStack->actionToStack('footer','index');
$actionStack->actionToStack('login','index');
Je viens de les commenter et tu as tout à fait raison. Faut-il alors créer les actions action stack dans un controller à part ? Comment faites-vous pour les footer, header, etc ?
Hors ligne
Bon en fait dans mon layout je fais maintenant un $this->action('footer', 'pouet');
j'espère que ça ne risque pas de poser de problème.
J'ai toutefois le problème d'appel deux fois consécutive à une méthode et y a que pour celle-là qu'il y a ses appels consécutifs. J'ai beau enlever tout le code de cette méthode, elle est exécutée deux fois.
Dernière modification par Cidrolin (01-11-2008 13:01:01)
Hors ligne
Hello,
Un plugin qui fait un setDispatched(false) ?
A+
Hors ligne