Bonjour,
De nouveau je poursuis mes tests sur Zend Framework sur la base du livre "Zend Framework - Bien développer en PHP".
Je suis au chapitre 6 où il est question de mettre en place l'architecture minimaliste MVC.
> J'ai donc mis en place l'arborescence suivante :
site_zend
+application
++controllers
+++IndexController.php
++views
+++scripts
++++index
+++++index.phtml
++models
+html
++index.php
++.htaccess
> Dans le fichier .htaccess j'ai placé les lignes suivantes :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
> J'ai créé une virtualhost sur appache : il est ok.
> Dans le fichier html/index.php j'ai placé le code suivant :
> Dans le fichier application/controllers/IndexController j'ai placé le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 require 'Zend/Loader/Autoloader.php'; $autoloader = Zend_Loader_Autoloader::getInstance(); Zend_Controller_Front::run('../application/controllers');
puis enfin j'ai placé les vues.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class IndexController extends Zend_Controller_Action { public function indexAction() { } public function contactAction() { } public function languageAction() { } }
Jusqu'ici tout est ok et fonctionne. Par exemple si je tape les urls suivantes :
http://webserver/
http://webserver/index
http://webserver//index/index
j'ai bien la vue correspondante placée dans application/views/scripts/index/index.phtml.
J'ai voulu ensuite ajouter un autre contrôleur : reservation.
Dans le répertoire application/controllers j'ai placé un fichier nommé ReservationControlleur.php. J'y ai placé le code qui suit :
J'ai créer un répertoire reservation dans application/views/scripts et y ai mis les vues correspondant aux actions à savoir edit.phtml, export.html, etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class ReservationController extends Zend_Controller_Action { public function indexAction() { } public function listAction() { } public function editAction() { } public function deleteAction() { } public function exportAction() { } }
J'ai donc pensé qu'en tapant l'url suivante j'accèderais à ma vue :
http://webserver//reservation/index
et bien non !
A la place j'ai un "Not Found"
Quelqu'un peut m'expliquer pourquoi ?
Merci.
Partager