Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je voulais prendre tout doucement contact avec le framework, mais je me suis rapidement trouvé bloqué. En suivant les exemples donnés au chapitre 7 de la doc, je récolte une erreur "Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)'". (détail ci-dessous)
Qqu'un pourrait m'aider ?
Meeerci.
Eb
-----------------------------------------------------------------------------------
le Framework est installé dans c:\Program Files\EasyPHP 2.0b1\php5\Zend\
dans le php.ini include_path = c:\Program Files\EasyPHP 2.0b1\php5\
le "document root" du serveur est : c:\Program Files\EasyPHP 2.0b1\www\
sous cette racine, j'ai créé les dossiers/fichiers suivant :
jen\controllers\IndexController.php
contenant :
<?php
require_once 'Zend/Controller/Action.php';
class IndexController extends Zend_Controller_Action {
public function indexAction() {
$this->render();
}
}
?>
jen\views\scripts\index\index.phtml
contenant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My first Zend Framework App</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
html\index.php
contenant :
<?php
require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('/jen/controllers');
?>
html\.htaccess
contenant :
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
Lorsque je tape http://localhost/html/ dans mon navigateur, je récolte ça :
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in C:\Program Files\EasyPHP 2.0b1\php5\Zend\Controller\Dispatcher\Standard.php:198 Stack trace: #0 C:\Program Files\EasyPHP 2.0b1\php5\Zend\Controller\Front.php(929): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\Program Files\EasyPHP 2.0b1\php5\Zend\Controller\Front.php(233): Zend_Controller_Front->dispatch() #2 C:\Program Files\EasyPHP 2.0b1\www\html\index.php(3): Zend_Controller_Front::run('/jen/controller...') #3 {main} thrown in C:\Program Files\EasyPHP 2.0b1\php5\Zend\Controller\Dispatcher\Standard.php on line 198
Hors ligne
Euh... désolé, j'ai trouvé.
D'abord, je me suis mis en règle par rapport à la doc en changeant le document_root (rajouté /html), puis modifié l'appel du controller dans html/index.php (../jen au lieu de /jen) je pensais que / signifiait "racine du dossier web", ben non.
Et ça marche ! Youpi...
Eb
Hors ligne