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

MVC PHP Discussion :

Inclure les models de module [ZF 1.11]


Sujet :

MVC PHP

  1. #1
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut Inclure les models de module
    Bonjour à tous, je suis débutant sous zend.

    Je cherche à créer un module dans mon application, je l'ai fait avec la commande. Ce module se nomme "connexion".

    Puis j'ai créer un models Users:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Connexion_Users extends Users{
     
        function __construct() {
            echo "ok";
        }
    }
    Ce models étend le models par défaut "Users".
    Dans le "application.ini" j'ai ajouter les deux lignes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
    resources.modules[] = ""
    Puis dans la racine de mon module j'ai créer un bootstrap que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Connexion_Bootstrap extends Zend_Application_Module_Bootstrap{
        protected function _initAutoload()
        {
            $autoloader = new Zend_Application_Module_Autoloader(array(
                'namespace' => 'Connexion_',
                'basePath'  => dirname(__FILE__)
            ));
            $autoloader->addResourceType("Connexion", "models/", 'Connexion');
            return $autoloader;
        }
    }
    Suivant ma logique, lors du chargement zend va passer dans les bootstrap des modules et ajouter à l'autoloader le namespace 'Connexion'.

    Donc, quand je suis dans mon IndexController.php je doit pouvoir faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $user = new Connection_Users();
    (à la ligne 13)

    Malheureusement j'ai une erreur:
    Fatal error: Class 'Connexion_Users' not found in D:\www\application\controllers\IndexController.php on line 13

    Je ne comprend pas mon erreur! Pouvez vous m'aider?
    Merci.

  2. #2
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut
    Bon ok.... je suis neuneu,

    J'ai trouvé tous seul, donc voilà la réponse pour ceux qui tombe sur ce message.

    Ajouter les deux ligne dans le application.ini:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    resources.modules[] = ""
    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
    Créer le module avec la commande, créer le models avec la commande.
    Puis ajouter un fichier Bootstrap à la racine du module:

    Bootstrap.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class Connexion_Bootstrap extends Zend_Application_Module_Bootstrap
    {  
    	protected function _initAutoload()
    	{
    		$moduleLoader = new Zend_Application_Module_Autoloader(array(
    		'namespace' => 'Connexion_',
    		'basePath' => APPLICATION_PATH . '/modules/connexion'));
    		$moduleLoader->addResourceType('Models', 'models', 'Models');
    		$moduleLoader->addResourceType('Forms', 'forms', 'Forms');
    		return $moduleLoader;
    	}
    }
    Et sa marche!
    Désoler pour le dérangement!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.9] Impossible d'inclure les models
    Par NainTernaute dans le forum Zend Framework
    Réponses: 2
    Dernier message: 10/10/2009, 13h31
  2. Atteindre les models d'un module
    Par kanzarih dans le forum MVC
    Réponses: 1
    Dernier message: 20/04/2009, 10h51
  3. Linux: Inclure les lib dans l'executable
    Par baert dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 02/09/2005, 23h40
  4. [ClassPath]Comment inclure les librairies dans un .BAT
    Par Kyti dans le forum Général Java
    Réponses: 2
    Dernier message: 26/03/2005, 08h07
  5. [JAR] Inclure les external jar ds mon jar exec...
    Par doudine dans le forum Général Java
    Réponses: 4
    Dernier message: 21/01/2005, 14h12

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