Salut a tous voila j'ai décider de faire les tutos sur Développer un site mais a peine commencer je bloque sur le 2 jour
Voila l'erreur tout fonctionner aprés avoir creer la fonction :function loadController a la 28e min cela m'affiche:
Warning: require(C:\wamp\www\tuto\site\controller\Controller.php) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\tuto\site\core\Dispatcher.php on line 22
voici mon includes.php
<?php
require 'Request.php';
require 'Router.php';
require 'Controller.php';
require 'Dispatcher.php';
Le dispatcher.php
<?php
/**
* Dispatcher
* Permet de charger le controller en fonction de la requête utilisateur
**/
class Dispatcher {
var $request;
/**
* 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();
$controller->view();
}
function loadController(){
$name = ucfirst($this->request->controller).'Controller';
$file=ROOT.DS.'controller'.DS.$name.'.php';
require $file;
$controller=new $name($this->request);
}
}
ainsi que PagesController.php
<?php
class PagesController extends Controller{
function view(){
echo 'Vous voyez?';
}
}
Et oui j'en suis que la je prend mon temps et j'ai envie de comprendre :-)
voila si quelqu'n peut m'aide rmerci
en cherchant dans le forum j'ai vu que la question a etait poser Ancienne reponse
mais je l'a comprend pas
je transmet l'url dans laquelle tombe le message d'erreur:
http://localhost/tuto/site/
ainsi que mon fichier webroot/index
<?php
define('WEBROOT',dirname( __FILE__ ));
define('ROOT',dirname(WEBROOT));
define('DS',DIRECTORY_SEPARATOR);
define('CORE',ROOT.DS.'core');
define('BASE_URL',dirname(dirname($_SERVER'SCRIPT_NAME'])));
require CORE.DS.'includes.php';
new Dispatcher();
?>
Voila,j'espere avoir tout dit
Merci de votre aide
merci de ta reponse mais le probleme ne change pas
Warning: require(C:\wamp\www\tuto\site\core\controller\Controller.php) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\tuto\site\core\Dispatcher.php on line 22
non toujours pas il m'affiche toujours
Warning: require(C:\wamp\www\tuto\site\controller\ControllerController.php) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\tuto\site\core\Dispatcher.php on line 22
laisser ton code comme ça
$file = ROOT.DS.'controller'.DS.$name.'.php';
le probléme vient de l'url
http://localhost/tuto/site/ pages / view
peut tu m'en dire plus je n'avais pas de fichier page je viens d'en cree un et inseree le fichier view dedans mais le probleme persiste
aussi tu doit indiquer a ton système le Controller et l'action que tu veux qu'il faire.
localhost/tuto/site/ici le nom du controller/ici le nom de l'action
voici comment est composer mon fichier:
tuto:
|_site
|___controller/PagesController.php
|___core/Controller.php/Dispatcher.php/includes.php/Request.php/Router.php
|___model
|___pages/view
|__webroot/js/img/css/.htaccess/index.php
|__.htaccess
voila si cela vient de l'url ?????
oui l'erreur vient toujours de l'url, si tu fait seulement localhost/tuto/site/
le Dispatcher ne sait rien de l'url.
c'est vrai RedaElkhayat je tombe tout le temps sur localhost/tuto/site/ voila comment puis je resoudre ce probleme au niveau du Dispatcher et pourquoi? j'ai biens suivi le tuto