bonjours a tous
je sais que je ne suis pas le premier à avoir un probleme sur ce sujet et ce tutoriel mais la j'ai fait le forum de long en large et je n'arrive pas à résoudre mon probléme je pense que je vais pas tarder à sauter de mon 6ieme étage

donc voila mon code d'érreur

( ! ) Warning: require(C:\wamp\www\tutoriel\site\Controller\Controller.php) [function.require]: failed to open stream: No such file or directory in C:\wamp\www\tutoriel\site\core\Dispatcher.php on line 42

et ensuite

Fatal error: require() [function.require]: Failed opening required 'C:\wamp\www\tutoriel\site\Controller\Controller.php' (include_path='.;C:\php\pear') in C:\wamp\www\tutoriel\site\core\Dispatcher.php on line 42

en sachant que je le fait avec le code source directement

merci a tous pour votre future aide :-)

4 réponses


ps: voici mon code :-)

<?php
/**
* Dispatcher
* Permet de charger le controller en fonction de la requête utilisateur
**/
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();
if(!in_array($this->request->action , get_class_methods($Controller)) ){
$this->error('Le controller '.$this->request->Controller.' n\'a pas de méthode '.$this->request->action);
}
call_user_func_array(array($Controller,$this->request->action),$this->request->params);
$Controller->render($this->request->action);
}

/**
* Permet de générer une page d'erreur en cas de problème au niveau du routing (page inexistante)
**/
function error($message){
header("HTTP/1.0 404 Not Found");
$Controller = new Controller($this->request);
$Controller->set('message',$message);
$Controller->render('/errors/404');
die();
}

/**
* 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);
}

}

Tout dépend si tu as ton dossier "controller" avec une majuscule au debut!!

je l'ai avec une majuscule j'ai changé en mettant en minuscule ça ne change rien...ça me met le même message d'érreur

Salut , tout le monde , je suis encore débutant et j'ai le même problème que
@argo33270 , s.v.p qu'elle est la solution .