Bonjour à toutes et à tous,
Après avoir suivie le bon tuto du jours 4 avec le systeme MVC. Je bloque à la 22 minutes au moment de la pagination.
En effet quand je clique sur une page pour afficher un autre article ce message d'erreur apparais :
Warning: require(C:\wamp\www\try\controller\posts?page=1controller.php) <a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in C:\wamp\www\try\Core\Dispatcher.php on line 27
Fatal error: require() <a href='function.require'>function.require</a>]: Failed opening required 'C:\wamp\www\try\controller\posts?page=1controller.php' (include_path='.;C:\php\pear') in C:\wamp\www\try\Core\Dispatcher.php on line 27
J'ai un peu prêt compris que l'erreur venais d'un mauvais parsing de l'url. Mais je ne comprend pas comment la résoudre.
Quelqu'un a une solution ?
<?php
class dispatcher{
var $request;
function __construct(){
$this->request = new request();
rooter::parse($this->request->url,$this->request);
$controller = $this->loadcontroller();
if(!in_array($this->request->action,array_diff(get_class_methods($controller),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 error($message){
$controller = new controller($this->request);
$controller->e404($message);
}
function loadcontroller(){
$name = $this->request->controller.'controller';
$file = ROOT.DS.'controller'.DS.$name.'.php';
require "$file";
return new $name($this->request);
}
}
?>