IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

migration vers ZEND


Sujet :

Zend Framework PHP

  1. #1
    Membre habitué Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Points : 155
    Points
    155
    Par défaut migration vers ZEND
    Bonjour,

    je suis en charge d'une étude pour migrer une plateforme plus que vieillissante vers un environnement MVC.

    J'ai tout naturellement choisi zend. L'application possède une sorte de controller frontal (je précise une sorte car il il date le coco)

    Dans mon idée, je souhaiterais mettre en place le FrontController de Zend en amont du vieillo controlleurs. Ce qui me permettrais de bénéficier rapidement des module de zend et de partir sur une architecture MVC propre (=> pour les nouvelle fonctionnalité)

    Puis dans un second temps, je pensais migrer petit a petit les fonctionnalité déservit par le vieux controller vers des module MX.

    Je sais pas si mon plan de migration est bon, avez vous des suggestions ?

    J'ai commencer a faire quelque bout de code pour voir si ça passait,
    En faite j'ai crer une action dans un controller.
    Cette action fait juste un include du vieux controller.

    mais je me heurte un un pb :
    L'ancien controller gère un certain nombre de variable en global. Et je sais pas si c'est lier à Zend qui protège ces mécanisme, mais les globals sont toute mise à null depuis que j'ai mis ma couche zend par dessus.

    genre dans l'index.php j'ai un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $DEBUG = new DEBUG();
    et dans un des nombres fichier qu'il inclus j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function initCookie(){
        global $DEBUG;
        $DEBUG->addTrace('initialisation des cookies');
    }
    et j'ai un message erreur qui me dis :
    Fatal error: Call to a member function addTrace() on a non-object ...
    je vais un var_dump dans l'index => nickel ça marche
    je fais un var_dump dans la function initCookie() => KO,
    $DEBUG => null

    Avez vous une idée ?
    quand j'enlève la couche zend, ça fonctionne.

    Pour infos je suis en php 5.2.1
    ---
    "Rien n'est impossible"
    http://journaldeguillaume.blogspot.com

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    hello,

    A ma connaissance global est un mot clé du language, Zend Framework ne peut pas agir là-dessus.

    Par contre, tu dois tomber sur un effet de bord algorithmique qui fait que ton n'est en fait pas effectué dans la portée globale php.

    Pour t'en assurer tu peux essayer de stocker ton objet de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $GLOBALS['DEBUG']  = new DEBUG();
    Avec ça tu peux être certain qu'il sera dispo dans ta fonction par Pour référence ici

  3. #3
    Membre habitué Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Points : 155
    Points
    155
    Par défaut
    Merci,
    d'avoir répondu aussi vite.

    J'ai supposé que le c'est le ZF qui gêne le fonctionnement, car lorsque je le désactive, tout fonctionne bien.
    Je me demandais s'il n'y avais pas des mécanisme de protection d'accès au variable,$_POST, $_GET, $_REQUEST,... qui pourrais également s'appliquer au variable global.

    je vais essayer de regarder de plus près ce que tu me dis.
    Par contre si je dois faire ce genre de changement, je crois que je regarderais de plus près comment implémenter le Zend_Registry.

    Si quelqu'un a d'autre idées/suggestions, je suis preneur.
    ---
    "Rien n'est impossible"
    http://journaldeguillaume.blogspot.com

  4. #4
    Membre confirmé
    Avatar de FERDIKAM
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2005
    Messages : 123
    Points : 616
    Points
    616
    Par défaut
    Je pense pour ma part que utiliser le Zend Framework pour un environnement MVC signifie le respect des conventions de développement : noms des classes et repertoires etc.
    Donc faudrait voir dans ton projet si cet aspect est respecté.

Discussions similaires

  1. Migration vers Interbase
    Par mona dans le forum InterBase
    Réponses: 6
    Dernier message: 26/09/2005, 10h43
  2. [CR][VS.NET]Migration vers CR XI
    Par arthenius dans le forum SDK
    Réponses: 1
    Dernier message: 20/07/2005, 10h08
  3. Probleme de migration vers serveur dédié
    Par sylvain_neus dans le forum Hibernate
    Réponses: 13
    Dernier message: 23/04/2004, 08h51
  4. [Kylix] migration vers kylix
    Par zheng dans le forum EDI
    Réponses: 1
    Dernier message: 11/04/2004, 08h31
  5. [Tomcat] migration vers une version plus récente
    Par butcher dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 31/10/2003, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo