Salut à tous,

décidément j'ai un peu de mal, je suis actuellement à la 22e minutes de ce tuto, et au moment de vérifier si mon PageController s'affiche je me retrouve avec une erreur (Warning: require(/home/creac047/public_html/controller/Controller.php) [function.require]: failed to open stream: No such file or directory in /home/creac047/public_html/core/Dispatcher.php on line 22

Fatal error: require() [function.require]: Failed opening required '/home/creac047/public_html/controller/Controller.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/creac047/public_html/core/Dispatcher.php on line 22) que je n'arrive pas à résoudre, une aide me serait très précieuse.
Si quelqu'un peu vraiment m'orienter car j'ai la tête qui explose.

PS: Je suis sur un serveur mutualisé.

8 réponses


ourson
Auteur
Réponse acceptée

Salut à tous,
merci pour votre aide, mais mon problème provenait de $_SERVER'PATH_INFO'] qui ne marche pas sur mon serveur, je l'ai remplacé par $_SERVER'REQUEST_URI'] et tous marche niquel

a+

ourson
Auteur

j'ai oublié de mettre le contenu de mon Dispatcher.php

<?php 
class Dispatcher{

    var $request;   // Object Reques
    /**
    * Fonction principale du dispatcher
    * Charge le controller en fonction du routing
    **/
    function __construct(){
        $this->request = new Request(); 
        Router::parse($this->request->url,$this->request); 
        $controller = $this->loadController();
    }

    /**
    * Permet de charger le controller en fonction de la requête utilisateur
    **/
    function loadController(){
        $name = ucfirst($this->request->controller).'Controller'; 
        $file = ROOT.DS.'controller'.DS.$name.'.php'; 
        require $file; 
        return new $name($this->request);  
    }
}
 ?>

J' ai l'impression que je ne récupère pas l'url tapé par l'utilisateur, est-ce que le problème pourrait venir de là?

ourson
Auteur

j' ai oublié, il y a aprés la ligne 13 ceci:

$controller->view();

mais cela ne marche toujours pas :(

ourson
Auteur

Re- hello,

voilà je viens de trouver une façon d' afficher le test PageController.php, à la ligne 20 au lieu de mettre 'Controler', j'ai mis 'PageController' et cela marche.
Par contre dans le tuto, ce n'est pas ce qui est fait, et j'ai du mal à comprendre comment Graph récupère PageController.

est-ce que quelqu'un pourrait m'éclairer là-dessus?

ourson
Auteur

UP

j'ai le meme soucis

Bon j'imagine qu'il faut mettre 'pages' dans l'url! Sinon normal sa ne marches pas! je me trompe?

Salut, il faut mettre le nom de ton controller dans l'url, si ton controller est PagesController alors dans ton url, tu dois mettre pages