Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-04-2007 17:40:34

dinoxyz
Membre
Date d'inscription: 31-03-2007
Messages: 70

Problème avec le Zend_Controller_Dispatcher

Je suis toujours dans le premier tutoriel de ce site http://www.kitpages.fr/zf_quickIntroduction.html .
Je n'arrive pas à trouver où se situe mon problème, j'ai suivi le tutoriel en tout point.
J'en suis même arrivé à créer un VHost : zend qui pointe directement sur mon répertoire /home/david/www/testZend/ .
J'y ai créé un répertoire tutoriaux, donc son chemin d'accès est http://zend/tutoriaux/ .
Mais, j'ai un message d'erreur du contrôleur.

Zend_Controller_Dispatcher_Exception: Invalid controller specified (index) in www/testZend/tutoriaux/Zend/Controller/Dispatcher/Standard.php on line 173

Bien sur, je ne vois pas où c'est cool

Je vous donne les constantes modifiées par rapport aux fichier index.php du tutoriel

define("WEBAPP_DIR","/home/david/www/testZend/tutoriaux/");
define("PHP_INF_DIR",WEBAPP_DIR."PHP-INF/");
define("ROOT_URL","http://zend/tutoriaux/");
define("INCLUDE_PATH_SEPARATOR",":");
define("ZEND_FRAMEWORK_DIR","/home/david/www/outils/ZendFramework-0.9.1-Beta/library/");

Et le BaseUrl
$controller->setBaseUrl('/tutoriaux/');

Par avance, merci de vos réponses.


Système : Ubuntu (Linux)
Version : PHP 5.2.1
Mode debug actif

Hors ligne

 

#2 01-04-2007 21:40:39

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Problème avec le Zend_Controller_Dispatcher

Bonjour,

L'erreur que tu nous envoies (Invalid controller specified) signifie qu'il ne trouve pas le controller.

Si tu demandes l'URL http://zend/tutoriaux sans rien derrière, il cherche le controller par défaut qui
s'appelle IndexController.
Ce controller doit être une classe IndexController qui hérite de Zend_Controller_Action. Cette classe doit se trouver dans le répertoire
/home/david/www/testZend/tutoriaux/PHP-INF/ctrl/IndexController.php
(si tu as bien laissé la ligne

Code:

$controller->setControllerDirectory('PHP-INF/ctrl');

)

Bref :
* vérifie le nom de ta classe
* vérifie que le fichier est bien dans le bon répertoire
* vérifie que le nom du fichier est bon
* Vérifie les majuscules et les minuscules de tes fichiers et noms de classe (oui, le ZF y est sensible, unix aussi, macos mis à part)

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 01-04-2007 22:10:33

dinoxyz
Membre
Date d'inscription: 31-03-2007
Messages: 70

Re: Problème avec le Zend_Controller_Dispatcher

philippe a écrit:

Bonjour,

L'erreur que tu nous envoies (Invalid controller specified) signifie qu'il ne trouve pas le controller.

Si tu demandes l'URL http://zend/tutoriaux sans rien derrière, il cherche le controller par défaut qui
s'appelle IndexController.
Ce controller doit être une classe IndexController qui hérite de Zend_Controller_Action. Cette classe doit se trouver dans le répertoire
/home/david/www/testZend/tutoriaux/PHP-INF/ctrl/IndexController.php
(si tu as bien laissé la ligne

Code:

$controller->setControllerDirectory('PHP-INF/ctrl');

)

Bref :
* vérifie le nom de ta classe
* vérifie que le fichier est bien dans le bon répertoire
* vérifie que le nom du fichier est bon
* Vérifie les majuscules et les minuscules de tes fichiers et noms de classe (oui, le ZF y est sensible, unix aussi, macos mis à part)

A+, Philippe

Heureusement que tu es là pour me répondre, car le problème venait bien du nom du ficher : IndexController.php . Il comportait une minuscule en première lettre et je n'aurais jamais penser qu'il soit sensible à la casse sur les noms de fichiers donc avec l'appel comme ceci : http://zend/tutoriaux/ , tout fonctionne.
Par contre, quand je fais http://zend/tutoriaux/index.php , j'ai toujours la même erreur. Aurais-tu une autre idéé pour ce problème ?

Code:

 du .htaccess
RewriteEngine on
RewriteBase /tutoriaux/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /tutoriaux/index.php [L]

Mais, j'ai l'impression qu'il n'est pas pris en compte. Car avec ou sans j'ai le même message d'erreur.

Encore merci, pour ces informations et du temps que tu prends pour me répondre sur mes questions d'apprentissage de l'environnement de développement proposé par Zend avec son Zend Framework.
Cordialement,
David


Système : Ubuntu (Linux)
Version : PHP 5.2.1
Mode debug actif

Hors ligne

 

#4 02-04-2007 08:49:24

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Problème avec le Zend_Controller_Dispatcher

dinoxyz a écrit:

Par contre, quand je fais http://zend/tutoriaux/index.php , j'ai toujours la même erreur. Aurais-tu une autre idéé pour ce problème ?

En fait c'est normal que ça ne fonctionne pas : avec la configuration actuelle, il interprete les URL de la façon suivante :

Code:

http://zend/tutoriaux/toto/titi

le ZF cherche le controlleur TotoController et dans le controlleur, l'action titiAction(). Si tu ne mets rien (http://zend/tutoriaux/), le controlleur par défaut est IndexControlleur et l'action par défaut est indexAction().

Par contre si tu mets http://zend/tutoriaux/index.php, il cherche un controlleur du type Index.phpControlleur. Là il n'aime pas. Par contre si tu mets http://zend/tutoriaux/index/index, il doit s'y retrouver.
C'est expliqué un peu plus en détail dans[/url]http://www.kitpages.fr/zf_tutorial.html[/url]

Dans tous les cas, suite à tes retours, je vais ajouter un paragraphe avec les problèmes rencontrés pour aider les suivants smile

Bon courage, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 02-04-2007 09:03:12

Isilgawen
Membre
Lieu: Limoges
Date d'inscription: 23-03-2007
Messages: 106

Re: Problème avec le Zend_Controller_Dispatcher

dinoxyz a écrit:

car le problème venait bien du nom du ficher : IndexController.php . Il comportait une minuscule en première lettre et je n'aurais jamais penser qu'il soit sensible à la casse sur les noms de fichiers

Sur un serveur apache/php sur windows ca passera par contre sur un linux il sera sensible à la casse et ca va coincer. Donc bien prendre l'habitude d'utiliser la bonne casse pour être tranquille.

Dernière modification par Isilgawen (02-04-2007 09:03:50)

Hors ligne

 

#6 02-04-2007 10:12:42

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Problème avec le Zend_Controller_Dispatcher

Isilgawen a écrit:

Sur un serveur apache/php sur windows ca passera par contre sur un linux il sera sensible à la casse et ca va coincer. Donc bien prendre l'habitude d'utiliser la bonne casse pour être tranquille.

En effet, et c'est valable pour tout le code de manière générale. Il arrive que le dev soit en windows alors que la prod est sous Linux, et la moindre innattention dans la casse fout tout par terre lors du déploiement.

Il y avait des problèmes avec les noms de colonnes SQL aussi dans d'anciennes versions de ZF.

Je confirme donc : toujours respecter la casse, où que ca soit. Ca met déja de coté un problème qui peut faire perdre beaucoup de temps.

Hors ligne

 

#7 02-04-2007 11:20:51

dinoxyz
Membre
Date d'inscription: 31-03-2007
Messages: 70

Re: Problème avec le Zend_Controller_Dispatcher

J'ai été mis dedans avec ces explications là dans le paragraphe "création du IndexController.php"

Code:

 
...

   * Si l'URL est http://localhost/zendSite

        * le framework va chercher dans ctrl/ le fichier indexController.php (le controller par défaut) et appelle l'action indexAction() (l'action par défaut)

On voit des minuscule partout dans les noms de fichiers donc je ne pensais pas qu'il puisse être sensible à la casse sur les noms des fichiers.

J'ai pris l'habitude de développer et d'utiliser une station sur linux pour me rendre compte des problèmes avant le déploiement sur un serveur de production. Il est vrai que celui là amène son lot de modification et de sensibilisation auquel je n'aurai pas pensé, si j'étais resté dans le monde window$. Je préfère de loin le monde du libre qui reflète mieux les problèmes de production.

Mais merci, pour toutes ces informations et ce tutoriel qui vont mettre d'une grande utilité dans l'apprentissage de ce framework, je passe au suivant.

Cordialement,
David

Dernière modification par dinoxyz (02-04-2007 12:02:58)


Système : Ubuntu (Linux)
Version : PHP 5.2.1
Mode debug actif

Hors ligne

 

#8 04-04-2007 09:27:34

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Problème avec le Zend_Controller_Dispatcher

dinoxyz a écrit:

J'ai été mis dedans avec ces explications là dans le paragraphe "création du IndexController.php"
[...]
On voit des minuscule partout dans les noms de fichiers donc je ne pensais pas qu'il puisse être sensible à la casse sur les noms des fichiers.

Mea culpa Mister, j'ai tout corrigé.

Sinon j'ai ajouté un paragraphe sur le problèmes rencontrés, en prenant tes remarques et quelques autres envoyées dans les commentaires.

Merci pour tes retours, n'hésite pas à faire d'autres remarques sur le tutoriel suivant smile

Cordialement, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#9 05-04-2007 11:59:35

dinoxyz
Membre
Date d'inscription: 31-03-2007
Messages: 70

Re: Problème avec le Zend_Controller_Dispatcher

philippe a écrit:

Mea culpa Mister, j'ai tout corrigé.

Sinon j'ai ajouté un paragraphe sur le problèmes rencontrés, en prenant tes remarques et quelques autres envoyées dans les commentaires.

Merci pour tes retours, n'hésite pas à faire d'autres remarques sur le tutoriel suivant smile

Cordialement, Philippe

De rien, mais j'ai déjà quelque petite chose à dire sur le tutoriel suivant c'est que les fichiers ne sont pas bien nommés n'ont plus. Exemple, si on décompresse ton archive sur un serveur linux, il ne fonctionnera pas.
Il manque aussi un fichier .htaccess qui pourrait faire un exemple sur une racine d'un site.
Si je vois d'autre problème, je crérai un autre post.
Cordialement,
David.


Système : Ubuntu (Linux)
Version : PHP 5.2.1
Mode debug actif

Hors ligne

 

#10 05-04-2007 14:32:24

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Problème avec le Zend_Controller_Dispatcher

C'est corrigé dans le .zip
Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#11 05-04-2007 15:49:10

dinoxyz
Membre
Date d'inscription: 31-03-2007
Messages: 70

Re: Problème avec le Zend_Controller_Dispatcher

philippe a écrit:

C'est corrigé dans le .zip
Philippe

Je testerai ça ce soir ou demain, merci.


Système : Ubuntu (Linux)
Version : PHP 5.2.1
Mode debug actif

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages