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 :
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');
> 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
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()
	{
	}
 
}
puis enfin j'ai placé les vues.

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 :
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 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...

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.