Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
je suis novice avec zend, et très nul en configuration.
J'ai enfin bien installé Zend.
J'ai crée un module que j'ai appelé accueil. Dans ce module et dans le repertoire controllers j'ai un fichier nommé IndexController. Dans ce fichier j'ai deux fonction : init et indexAction. J'ai crée un template dans le module accueil/views/scripts que j'ai nommé index.phtml.
Cependant dans la barre d'adresse lorsque je tape http://localhost:8042/accueil/index j'ai une erreur 404: Not Found The requested URL /accueil/index was not found on this server.
Et quand je tape http://localhost:8042/public/accueil/index j'ai ceci:
An error occurred
Page not found
Exception information:
Message: Invalid controller specified (accueil)
Stack trace:
#0 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Application/Bootstrap/Bootstrap.php(77): Zend_Controller_Front->dispatch()
#2 /home/vincent/sites/ZendFramework-1.9.7/library/Zend/Application.php(358): Zend_Application_Bootstrap_Bootstrap->run()
#3 /home/vincent/sites/gts/public/index.php(26): Zend_Application->run()
#4 {main}
Request Parameters:
array (
'controller' => 'accueil',
'action' => 'index',
'module' => 'default',
)
Comment fonctionne le controlleur dans zend ?
Dernière modification par enzostar (14-01-2010 16:46:22)
Hors ligne
Bonjour,
Ton problème c'est qu'il ne trouve pas le chemin et c'est simple,il faut mettre ton "index.phtml" dans acceuil/views/scripts/index/ et si tu as un autre contrôleur "users" par exemple alors tu dois mettre ton "index.phtml" dans acceuil/views/scripts/users/(d'ici tu peux tirer la conclusion du fonctionnement d'architecture MVC)...
Une chose tu as déjà fais cela avec "error.phtml" qui est dans acceuil/views/scripts/errors/ car je vois que ton contrôleur d'erreur fonctionne bien.
A+.Nll
Dernière modification par elec (18-01-2010 10:45:03)
Hors ligne
non visblement le pb n'est pas là
as tu déclaré ton module car de ce que je vous tu ouvre
http://localhost:8042/accueil/index
qui si le module est déclaré se lit comme
array ( 'controller' => 'index', 'action' => 'index', 'module' => 'accueil', )
et s'il n'est pas déclaré accueil est un contrôleur et index une action
array ( 'controller' => 'accueil', 'action' => 'index', 'module' => 'default', )
pour le déclarer il faut faire
$frontController->setControllerDirectory(array( 'default' => 'Application/Controllers', 'accueil' => 'Accueil/Controllers' ));
et
set_include_path($rootPath . '/library' . PATH_SEPARATOR . $rootPath . '/Application' . PATH_SEPARATOR . $rootPath . '/Accueil' . PATH_SEPARATOR . get_include_path() );
a+JYT
Hors ligne
Je rajouterai que c'est pas normal de devoir faire "http://localhost:8042/public/accueil/index", le '/public/' est de trop ( sauf si c'est un module, mais j'en doute ), il faut que tu changes le document root, pour pouvoir faire http://localhost:8042/accueil/index ( c'est sera deja plus propre ) .
Hors ligne
Bonsoir,
Pour M. Sekaijin,s'il te plait on dit pas à une réponse sur ce forums "non visblement le pb n'est pas là",et si quelqu'un a fait une erreur ou il n'as pas bien mesuré sa réponse,tu dois dire "après ta réponse je vois que tu as oublié que...ou...ou c'est une solution pour ce genre de problème mais ce n'est pas le cas ici " parce que comme même ce n'est pas toi seul qui comprend ici ou de donner des mots qui dérange d'autre gens.
Merci.Nll
Hors ligne
Je pense qu'il y a eu un petit problème d'incompréhension. Je pense que la réponse de Sekaijin n'était pas agressive. C'est intéressant pour celui qui pose la question d'avoir plusieurs directions où chercher. Les contributeurs qui répondent n'ont pas forcément la même approche et donc pas forcément les mêmes réponses.
Bref merci à tous les deux elec et sekaijin (et les autres) de prendre le temps de répondre à des questions d'autres membres. Il faut essayer d'être le moins susceptible possible, les tournures de phrases peuvent être un peu brutales parfois dans un forum parce qu'en général on passe peu de temps sur une réponse et on tape très vite
A+, Philippe
Hors ligne
Bonjour et merci pour toutes vos réponses.
Vous aviez tous les 2 raison. Je plaçais mon fichier .phtml dans le mauvais répertoire, et l'adresse n'était pas correcte.
Je vous remercie encore une fois vos réponses m'ont été très utiles.
Hors ligne
Pages: 1