Bonsoir je poste a nouveau sur le forum pour un bug qui m'arrive lors de la fonction "loadController()"
J'ai un message d’erreur suivant : "Call to undefined method Dispatcher::loadController() in C:\wamp\www\testasb\core\Dispatcher.php on line 9"
J'ai utilisé les fichiers sources pour essayer de comparer mais je tombe sur le même problème à chaque fois.
Voici le code
DISPATCHER.PHP
<?php
class Dispatcher{
var $request;
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);
}
} function loadController(){
$name = ucfirst($this->request->controller).'Controller';
$file = ROOT.DS.'controller'.DS.$name.'.php';
require $file;
return new $name($this->request);
}
?>
Merci d'avance.
Ton accolade qui est juste avant function loadController devrait être juste avant ?> car la tu ferme la class Dispatcher avant la fonction loadController
Merci a force de chercher partout, on oublie de voir ce qui est sous son nez, mais ca m'a sortit deux nouveaux message d'erreur maintenant
Warning: require(C:\wamp\www\testasb\controller\controller.php) <a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in C:\wamp\www\testasb\core\Dispatcher.php on line 22
Je pense qu'il s'agit d'une rerreur avec un nom de ficher... je cherche
Djtec, je te sollicite a nouveau pour ce nouveau problème. J'ai le message d’erreur suivant disant :
" Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'p_controller' does not have a method '' in C:\wamp\www\testasb\core\Dispatcher.php on line 10"
J'ai du mal à comprendre cette erreur, pourrais tu m'éclairer?
p_controller
<?php
class p_controller extends controller{
function view($nom){
$this->$vars'phrase'] = 'Bienvenue sur la page '.$nom;
$this->render('index');
}
}
?>
Dispatcher
<?php
class Dispatcher{
var $request;
function __construct(){
$this->request = new Request();
router::parse($this->request->url,$this->request);
$controller = $this->loadController();
call_user_func_array(array($controller,$this->request->action),$this->request->params);
$controller->render($this->request->action);
}
function loadController(){
$name = ucfirst($this->request->controller).'p_controller';
$file = ROOT.DS.'control'.DS.$name.'.php';
require $file;
return new $name($this->request);
}
}
?>
salut a tous moi j ai un problème sur mon dispatcher qui affiche : Undefined property: Request::$controller in C:\wamp\www\smsnetwork\core\Dispatcher.php on line 14
voici les code :
?php
class Dispatcher {
var $request;
function __construct(){
$this->request= new Request();
//echo $this->request->url;
Router::parse($this->request->url,$this->request);
$controller = $this->loadController();
call_user_func_array(array($controller,$this->request->action),array());
}
function loadController(){
$name = ucfirst($this->request->controller).'Controller';
$file = ROOT.DS.'controller'.DS.$name.'.php';
require $file;
return new $name($this->request);
}
}