probleme [function.require] jours 2

Par argo33270, il y a 14 ans


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

argo33270, il y a 14 ans

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

}

M4dr0x, il y a 14 ans

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

argo33270, il y a 14 ans

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

midosd, il y a 13 ans

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 .