Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-11-2008 11:34:55

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Problème de boucle mystérieuse

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

 

#2 01-11-2008 11:41:46

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: Problème de boucle mystérieuse

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+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 01-11-2008 11:45:14

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: Problème de boucle mystérieuse

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

 

#4 01-11-2008 12:58:01

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: Problème de boucle mystérieuse

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

 

#5 01-11-2008 13:04:25

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: Problème de boucle mystérieuse

Hello,

Un plugin qui fait un setDispatched(false) ?

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages