2012-06-29 6 views
0

J'utilise des modules et voici la structure:Zend ma classe mappeur ne se trouve pas

-application 
    -modules 
     -affaire 
      -controllers 
       -ProfileController.php 
      -models 
       -Affaire.php 
       -AffaireMapper.php 

Le problème est dans l'action index de ProfileController, quand je l'appelle:

$affaireMapper = new Affaire_Model_AffaireMapper(); 

L'erreur que je get est Affaire_Model_AffaireMapper introuvable sur ... eh bien vous connaissez l'exercice: P Je suppose que c'est parce que mon nom de module est écrit en minuscules. J'ai également vérifié le nom de ma classe dans AffaireMapper.php afin de m'assurer qu'il n'avait pas été mal saisi. Le nom est Affaire_Model_AffaireMapper btw!

Si c'est à cause de ce que je soupçonne, y a-t-il un moyen de garder mon nom minuscule "affaire"? Je le veux en minuscules donc mon ur; sont comme: "somthing.com/affaire/profile". Quoi qu'il en soit, je suis nouveau à Zend donc ça pourrait (ou c'est: P) une erreur de débutant!

+0

Peut-être selon le fichier est y compris les modèles/AffaireMapper.php n'utilise un chemin absolu et n'a pas le droit d'inclure les chemins – andrewtweber

+0

Il est inclus dans ProfileController – maniak

+0

Pouvez-vous mettre cette ligne de code dans votre question? Aussi 'var_dump (get_include_path())'. Pour autant que je sache, le nom du dossier du module ne doit pas être mis en majuscule – andrewtweber

Répondre

1

J'ai trouvé la solution, j'avais oublié le fichier bootstrap.php pour le module et la variable ressources.modules [] = "" dans application.ini. Voici un sujet que j'ai pu trouver quand j'ai réalisé que cela se passait uniquement pour les modèles dans un module: zend modules models

0

Le serveur linux a coupé le nom de la classe pour générer le patch du fichier de classe, dans ce cas, faites ceci:

$ affaireMapper = new affaire_models_AffaireMapper();

fin renomme la classe:

affaire_models_AffaireMapper

Questions connexes