Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonsoir,
je suis nouveau et uje me lance dans zend, je me lance bien grand mot, pour cela faudrais t'il que j'y arrive.
J'ai lu les postes ayant le même problème et je doit m'avouer assz déçus de na pas trouver une réponse a mon problème qui plus est je ne suis apparemment pas le seul a l'avoir.
bref
j'utilise ce tutorial pour apprendre a manipuler zend http://g-rossolini.developpez.com/tutor … e=sommaire
je me suis arrèter au contrôleur soit cette page la http://g-rossolini.developpez.com/tutor … controleur
il est dit en bas de la page juste avant le tableau "Initialement, nous l'avons défini afin que chaque action affiche son nom. Essayez cela en allant aux adresses suivantes : "
soir ce qui signifie que si je teste les liens du tableau je devrais tomber sur le nom des actions, mais j'ai un jolie message d'erreur a la place
message d'erreur :
http://localhost:82/zf-tutorial/public
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (public)' in C:\wamp\www\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php:249 Stack trace: #0 C:\wamp\www\zf-tutorial\library\Zend\Controller\Front.php(914): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\wamp\www\zf-tutorial\index.php(20): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\wamp\www\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php on line 249
http://localhost:82/zf-tutorial/public/index/ajouter
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (public)' in C:\wamp\www\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php:249 Stack trace: #0 C:\wamp\www\zf-tutorial\library\Zend\Controller\Front.php(914): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\wamp\www\zf-tutorial\index.php(20): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\wamp\www\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php on line 249
quelqu'un pourrais m'aider ?
Hors ligne
Bonjour,
le message dit qu'il ne trouve pas ton controller....
alors soit tu ne la pas créer dans application/controllers => class Public_Controller extends Zend_Controller_Action
ou soit si tu utilise des modules tu ne la pas créer dans application/modules/NomModule/controllers => class NomModule_PublicController extends Zend_Controller_Action
j'espère avoir pu t'aider....
Bonne continuation dans l'apprentissage de ZF
Dernière modification par GueloSuperStar (11-09-2009 07:36:04)
Hors ligne
Tu as mis en place le fichier .htaccess ? D'autres posts évoquent ce sujet. En fait là il cherche un controleur nommé public alors que je suppose que public est le répertoire où se trouve index.php non ?
Hors ligne
GueloSuperStar a écrit:
Bonjour,
le message dit qu'il ne trouve pas ton controller....
alors soit tu ne la pas créer dans application/controllers => class Public_Controller extends Zend_Controller_Action
ou soit si tu utilise des modules tu ne la pas créer dans application/modules/NomModule/controllers => class NomModule_PublicController extends Zend_Controller_Action
j'espère avoir pu t'aider....
Bonne continuation dans l'apprentissage de ZF
dans applicatiobns/controllers j'ai créé le fichier IndexController.php comme il est dit dans le tuto, donc a ce qu'il me semble je l'ai bien créé.
et nan je n'utilise pas de module (je n'y suis pas encore arrivé jusque la )
j'ai copier le lien de la ou je me suis arrèté et de la ou ca devrais marcher ^^'
aelyta1 a écrit:
Tu as mis en place le fichier .htaccess ? D'autres posts évoquent ce sujet. En fait là il cherche un controleur nommé public alors que je suppose que public est le répertoire où se trouve index.php non ?
oui j'ai bien creer le fichier .htaccess a la racine de zf-tutorial au meme niveau que les dossier application library et public
.htaccess
# Règles de réécriture pour Zend Framework
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
# Sécurité : Ne pas autoriser le parcours de répertoires
Options -Indexes
# Configuration PHP
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag short_open_tag on
et oui public est bien le dossier ou est mon fichier index.php et le controlleur que je veu utiliser s'est index comme dans le tuto,mais ca plante.
Une petite idée ??
merci pour vos réponse
Hors ligne
Je ne suis pas une experte en .htaccess mais essaie
RewriteRule .* /public/index.php
Hors ligne
@tsunami chups : est-ce que tu as bien défini ton baseUrl ? ça doit être un truc du genre :
$controller->setBaseUrl("/zf-tutorial/public");
A+, Philippe
Hors ligne
aelyta1 a écrit:
Je ne suis pas une experte en .htaccess mais essaie
Code:
RewriteRule .* /public/index.php
ca ne marche pas, et ca me redirige vers une page bizard
philippe a écrit:
@tsunami chups : est-ce que tu as bien défini ton baseUrl ? ça doit être un truc du genre :
Code:
$controller->setBaseUrl("/zf-tutorial/public");
A+, Philippe
je ne vouis pas ou placer cette ligne, dans le tuto elle n'y figure pas
je vous founi les info complete
arboressence :
->zf-tutorial
->application
->controllers
->IndexController.php
->models
->views
->library
->zend
->public
->css
->images
->js
->.htaccess
->index.php
.htaccss
---------
# Règles de réécriture pour Zend Framework
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
# Sécurité : Ne pas autoriser le parcours de répertoires
Options -Indexes
# Configuration PHP
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag short_open_tag on
index.php
-----------
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
date_default_timezone_set('Europe/Paris');
// mise en place des répertoires et chargement des classes
set_include_path('.'
. PATH_SEPARATOR . './library'
. PATH_SEPARATOR . './application/models/'
. PATH_SEPARATOR . get_include_path());
include "Zend/Loader.php";
Zend_Loader::registerAutoload();
// setup controller
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory('./application/controllers');
// run!
$frontController->dispatch();
IndexController.php
-----------------------
<?php
class IndexController extends Zend_Controller_Action
{
function indexAction()
{
}
function ajouterAction()
{
}
function modifierAction()
{
}
function supprimerAction()
{
}
}
merci encore de vos réponse
Hors ligne
c'est dans ton index.php, c'est une config de ton frontController
$frontController->setBaseUrl("/zf-tutorial/public");
A+, Philippe
Hors ligne
merci pour la reponse,
j'ai ajouté la ligne que tu m'a donner mais ca n'a pas resolu le probleme
en saisissant l'adresse http://localhost/zf-tutorial/public/ j'obtien ce message d'erreur
Fatal error: Uncaught exception 'Zend_View_Exception' with message 'script 'index/index.phtml' not found in path (.\application\views\scripts\)' in C:\wamp\www\zf-tutorial\library\Zend\View\Abstract.php:857 Stack trace: #0 C:\wamp\www\zf-tutorial\library\Zend\View\Abstract.php(765): Zend_View_Abstract->_script('index/index.pht...') #1 C:\wamp\www\zf-tutorial\library\Zend\Controller\Action\Helper\ViewRenderer.php(872): Zend_View_Abstract->render('index/index.pht...') #2 C:\wamp\www\zf-tutorial\library\Zend\Controller\Action\Helper\ViewRenderer.php(893): Zend_Controller_Action_Helper_ViewRenderer->renderScript('index/index.pht...', NULL) #3 C:\wamp\www\zf-tutorial\library\Zend\Controller\Action\Helper\ViewRenderer.php(932): Zend_Controller_Action_Helper_ViewRenderer->render() #4 C:\wamp\www\zf-tutorial\library\Zend\Controller\Action\HelperBroker.php(161): Zend_Controller_Action_Helper_ViewRenderer->postDispatch() #5 C:\wamp\www\zf-tutorial\library\Zend\Controller\Action.php(512): Zend_Controller_Action_HelperBroker->notifyP in C:\wamp\www\zf-tutorial\library\Zend\View\Abstract.php on line 857
Hors ligne
On avance. Ton controlleur est bien exécuté. Maintenant il ne trouve pas ta vue (ton html) qui doit être dans le fichier views/index/index.phtml
Regarde si le fichier existe. Le tuto doit sans doute expliquer comment créer ce fichier.
A+, Philippe
Hors ligne
Merci pour ta réponse desormais ca marche thanks
mais je ne comprend toujours pas pourquoi ce ne marchais pas sans les vus alors que dans le tuto il demandais de verrifier et dans mon cas ca me créais les erreurs enoncés
En tout cas merci
Hors ligne