2010-03-13 5 views
0

J'ai installé Zend Studio 7.1.1 qui contient le framework 1.9. Pour le côté serveur, j'utilise EasyPHP (très similaire à WAMP)Impossible d'accéder au nouveau contrôleur/vue zend

Lorsque je crée le projet, j'obtiens évidemment cette architecture:

MyProject 
|-- application 
| |-- Bootstrap.php 
| |-- configs 
| | `-- application.ini 
| |-- controllers 
| | |-- ErrorController.php 
| | `-- IndexController.php 
| |-- models 
| `-- views 
|  |-- helpers 
|  `-- scripts 
|   |-- error 
|   | `-- error.phtml 
|   `-- index 
|    `-- index.phtml 
|-- library 
|-- public 
| |-- .htaccess 
| `-- index.php 
`-- tests 
    |-- application 
    | `-- bootstrap.php 
    |-- library 
    | `-- bootstrap.php 
    `-- phpunit.xml 

Pour lancer le projet, j'entre:

http://127.0.0.1/MonProjet/public/index.php 

Mais quand je crée un nouveau contrôleur (TestController.php) et la vue associée (application.views/test/index.phtml) et quand je rentre:

http://127.0.0.1/MonProjet/public/test 

le navigateur renvoie l'erreur: objet introuvable (404).

bien que je le mod_rewrite activé

LoadModule rewrite_module modules/mod_rewrite.so 

Alors, comment puis-je mettre le mécanisme de routage pour atteindre les nouveaux contrôleurs et leurs points de vue? Merci beaucoup, salut

Répondre

0

Votre fichier index.php a l'appel de classe Autoloader qui charge automatiquement tous les contrôleurs et modèles.

En plus de cela, vous pouvez également ajouter ce code dans votre fichier BootStrap.php.

protected function _initAutoload() 
{ 
    $modeLoader = new Zend_Application_Module_Autoloader(array 
     ('namespace'=>'Application','basePath'=>APPLICATION_PATH)); 

return $modeLoader; 
} 
+0

Merci pour votre réponse. Mais cela ne fonctionne pas même si j'ai ajouté: require_once 'Zend/Loader.php'; Zend_Loader :: registerAutoload(); pour charger automatiquement les contrôleurs et les modèles. Merci encore. – Zakaria

1

Cela fait longtemps que la question n'a pas été posée, mais il se peut que quelqu'un soit toujours confronté au problème. J'ai eu le même problème aujourd'hui et il s'est avéré que dans la configuration d'apache dans httpd.conf le "AllowOverride" a été réglé sur "none" et par conséquent le .htaccess n'a pas pu être lu. Le changement à "Tout" a résolu le problème.

Questions connexes