Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-02-2012 17:13:51

Nowis
Nouveau membre
Date d'inscription: 19-10-2011
Messages: 6

Création d'une propre librairy

Bonjour à tous,

Je dois créer ma propre library sous Zend et je galère un petit peu :

J'ai donc le dossier "Malibrary" sous library/ (donc avec le dossier Zend).
Dans mon bootstrap j'appelle cette library, aucun soucis.

Un exercice est de créer une class controller dont tous mes controllers étendront.

Je crée donc un fichier Malibrary/Controller.php

Dedans, je fais donc :

<?php

class Malibrary_Controller extends Zend_Controller_Action
{
    public function init()
    {
        $this->bdd = Zend_Registry::get('bdd');

        if((bool)Zend_Registry::get('xml')->application->log)
        {
             // fonction qui log un message
            [...]
            $logger->log('', 6);
        }
    }
}


En testant l'appli, ça fonctionne parfaitement. En allant dans les log (fichier .log), deux lignes sont inséré...
Je me demande vraiment si ma classe doit extendre de  Zend_Controller_Action

J'espère que mon problème est correctement expliqué.

Merci d'avance !

Dernière modification par Nowis (02-02-2012 17:14:31)

Hors ligne

 

#2 02-02-2012 17:24:03

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Création d'une propre librairy

Salut, normalement c'est comme ça qu'il faut faire. Concernant les 2 lignes de log, j'avais remarqué en exécutant en mode débug qu'on passait 2 fois dans le contrôleur mais je ne sais pas à quoi c'est dût

Hors ligne

 

#3 03-02-2012 17:54:59

Nowis
Nouveau membre
Date d'inscription: 19-10-2011
Messages: 6

Re: Création d'une propre librairy

Ok!

Bon j'attendais d'autre réponse concernant le double affichage mais apparemment personne n'a la réponse. Merci pour ces informations !

C'est parfait alors wink

Hors ligne

 

#4 03-02-2012 20:29:48

Blount
Membre
Date d'inscription: 23-06-2009
Messages: 98
Site web

Re: Création d'une propre librairy

Si tu as un _forward quelque part, ça peut-être la cause. Si tu as deux lignes, c'est sans doute que deux controller différents ont été initialisé.

Hors ligne

 

#5 06-02-2012 08:52:02

f.garoby
Membre
Date d'inscription: 02-03-2011
Messages: 105

Re: Création d'une propre librairy

Bonjour,
Ce que je te propose, pour trouver qui appelle ta fonction 2 fois, c'est de faire inscrire dans le log, la sortie de debug_print_backtrace()

Hors ligne

 

#6 06-02-2012 09:47:36

Nowis
Nouveau membre
Date d'inscription: 19-10-2011
Messages: 6

Re: Création d'une propre librairy

Bonjour,

le debug_print_backtrace() ne m'indique qu'un seul appel du controller.
En faisant :

$controller = $this->getRequest()->getControllerName();
$action = $this->getRequest()->getActionName();

Les deux lignes pointent sur le même couple controller/action.

Je n'ai aucun _forward...

En faisant un echo dans cette library, un seul affichage à l'écran est fait...

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