IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Tutoriel MVC - contrôleurs non trouvés [ZF 1.9]


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Par défaut Tutoriel MVC - contrôleurs non trouvés
    Bonjour,

    J'ai commencé le tutoriel présent sur votre site à l'adresse suivant.

    http://g-rossolini.developpez.com/tu...?page=sommaire

    . J'ai crée l'arborescence.
    . J'ai retirer le # sur LoadModule rewrite_module modules/mod_rewrite.so dans le httpd.conf

    Ensuite ma ligne 225 du httpd.conf contient bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride all
    Par contre celles de <Directory "cgi-bin"> et <Directory /> est a None.

    J'ai donc suivit les procédures.

    fichier .htaccess dans \tutorie-zf

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # 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
    directement dans le dossier tutoriel-zf

    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
     
    <?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 dans tutoriel-zf\application\controllers\
    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
     
    <?php
    class IndexController extends Zend_Controller_Action 
    {
        function indexAction()
        {
    	$this->view->title = "Mes albums";
        }
     
        function ajouterAction()
        {
            $this->view->title = "Ajouter un nouvel album";
        }
     
        function modifierAction()
        {
            $this->view->title = "Modifier un album";
        }
     
        function supprimerAction()
        {
            $this->view->title = "Supprimer un album";
        }
    }
    et chacun de mes fichier index.phtml , ajouter.phtml , modifier.phtml et supprimer.phtml tous situés dans tutoriel-zf\application\views\scripts\index contiennent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <html>
    <head>
    	<title><?php echo $this->escape($this->title); ?></title>
    </head>
    <body>
    	<h1><?php echo $this->escape($this->title); ?></h1>
    </body>
    </html>
    C'est les seuls fichiers que j'ai crée et touché jusqu'à présent.


    Malheureusement rendu a cette étape selon le tutoriel en cliquant sur

    http://localhost/tutoriel-zf/public
    http://localhost/tutoriel-zf/public/index
    http://localhost/tutoriel-zf/public/index/modifier
    http://localhost/tutoriel-zf/public/index/supprimer

    Je devrais avoir accès au 4 pages avec leurs titres respectif.

    Sa ne fonctionne pas.

    J'ai une notice.

    Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in C:\wamp\www\tutoriel-zf\library\Zend\Loader.php on line 207
    ainsi qu'une erreur.

    Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (public)' in C:\wamp\www\tutoriel-zf\library\Zend\Controller\Dispatcher\Standard.php:242 Stack trace: #0 C:\wamp\www\tutoriel-zf\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\wamp\www\tutoriel-zf\index.php(20): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\wamp\www\tutoriel-zf\library\Zend\Controller\Dispatcher\Standard.php on line 242
    Mais par contre

    http://localhost/tutoriel-zf/

    m'affiche

    Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in C:\wamp\www\tutoriel-zf\library\Zend\Loader.php on line 207

    Mes albums
    Es-ce que j'ai oublié quelque chose à quelque part ?

    En vous remerciant à l'avance pour votre aide et désolé si le post est ma foi , assez long à lire mais je préfère être certain de vous donner toute les informations pour que mon problème soit plus clair.

    Aussi , petite question , la notice es-ce que sa suppose qu'il existe un moyen plus simple de faire la configuration de base ?

    J'ai essayer le tutoriel qui vien du site web de zend et c'est un echec cuisant , sa plante dans les pages de tests en me disant qu'il ne trouve pas framework.php alors que dans tout les dossiers du framework 1.9 il n'existe pas de fichier framework.php mais bon , je vais commencé par réussir le tutoriel et je verrais par la suite

    Encore une fois , merci et j'espère ne pas m'être trompé de section !

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    As-tu relancé Apache après tes modification au fichier http.conf ?

    Pour ce qui est de la configuration de base, effectivement cela à changer depuis le tutoriels de Guillaume. Un autre article sur le sujet est en cours de rédaction, patience donc.

    Tu pourras déjà trouver des éléments important dans l'article suivant.


    Mais si tu veux être sur de démarrer avec les bonnes bases, tu peux télécharger le Quick Start et de simplement le décompresser, a aprtir de là tu pourras reprendre le tutoriel de Guillaume

  3. #3
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Par défaut
    Et pour le httpd.conf

    es-ce que je dois mettre les 3 AllowOverride à All ou simplement celui de la ligne 225 ?

    et oui j'ai redémarrer Apache...

    C'est simplement étrange que la seule page qui "fonctionne" soit celle qui contient index.php

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    ton httpd.conf est ok, la réécriture se fait correctement. Ton problème est lié à la détermination d'une mauvaise URL de base par le ZF.

    Mais sauf erreur, ton fihcier index.php semble être directement dans \tutorie-zf. Si c'est bien le cas, alors essaie les adresses :
    http://localhost/tutoriel-zf/
    http://localhost/tutoriel-zf/index
    http://localhost/tutoriel-zf/index/modifier
    http://localhost/tutoriel-zf/index/supprimer

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Bonjour,

    ton httpd.conf est ok, la réécriture se fait correctement. Ton problème est lié à la détermination d'une mauvaise URL de base par le ZF.

    Mais sauf erreur, ton fihcier index.php semble être directement dans \tutorie-zf. Si c'est bien le cas, alors essaie les adresses :
    http://localhost/tutoriel-zf/
    http://localhost/tutoriel-zf/index
    http://localhost/tutoriel-zf/index/modifier
    http://localhost/tutoriel-zf/index/supprimer
    C'est exacte

    Merci..

    J'ai pas vu dans le tutoriel que l'index devait être dans /public/

    Merci encore !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 11
    Par défaut
    Pour le problème de deprecate.

    Notice:
    Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in C:\wamp\www\tutoriel-zf\library\Zend\Loader.php on line 207

    Sur le web , on indique de changer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // If you had:
    require_once 'Zend/Loader.php';
    Zend_Loader::registerAutoload();
     
    // In most cases, you can replace it with:
    require_once 'Zend/Loader/Autoloader.php';
    Zend_Loader_Autoloader::getInstance();

    Mais si je remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include "Zend/Loader.php";
    par


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    require_once 'Zend/Loader/Autoloader.php';
    Zend_Loader_Autoloader::getInstance();

    J'ai une erreur
    Fatal error: Class 'Albums' not found in C:\wamp\www\tutoriel-zf\application\controllers\IndexController.php on line 8
    Comme si ma classe Albums.php dans tutoriel-zf\application\models\ n'était plus reconnu.

    Quelqu'un aurait eu le même problème ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec mon contrôleur non trouvé
    Par frantz68 dans le forum MVC
    Réponses: 10
    Dernier message: 08/06/2009, 10h54
  2. Tutoriel MVC : Objet non trouvé
    Par gostbuster dans le forum MVC
    Réponses: 6
    Dernier message: 11/03/2009, 18h03
  3. index.php non trouvé pour certains contrôleurs !
    Par citronbleu-v dans le forum Apache
    Réponses: 11
    Dernier message: 24/01/2009, 14h41
  4. index.php non trouvé pour certains contrôleurs !
    Par citronbleu-v dans le forum Zend Framework
    Réponses: 9
    Dernier message: 24/01/2009, 12h18
  5. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 20h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo