Bonjour
J'ai éditer mon post car l'erreur ne vient plus de l'array, en fait lorsque je fait : ( 47min de la vidéo).
http://localhost/BLOG\_V2/pages/lol
j'ai quand même :
Bienvenue
C'est la page d'accueil
J'ai regarder une seconde fois la vidéo en comparant les codes et je n'ai pas remarquer mon erreur...
La page Dispatcher :
<?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 error($message){
header("HTTP/1.0 404 Not Found");
$controller = new Controller($this->request);
$controller->set('message',$message);
$controller->render('/errors/404.php');
die();
}
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 pour vos réponse
Moi je suis a la 4 donc c'est possible que j'ai des truc que tu n'a pas mes je te donne les différence trouver et tu les aisés pour me dire quoi :
Ligne 10: if(!in_array($this->request->action , array_diff(get_class_methods($controller),get_class_methods('Controller'))) ){
De la ligne 18 a 24 : function error($message){
$controller = new Controller($this->request);
$controller->e404($message);
}
Voila maintenant a toi de tester je ne sais pas ou ca flanche je vient de commencer le php => Test ca est dit moi quoi :)
Dylan.
Puisque le code à l'air d'évoluer au prochaine vidéo, je vais donc continuer jusqu'à la fin et je reviendrais aux nouvelles ici. En attendant si quelqu'un à quand meme la solution sa pourrait me servir :)
Merci dalisyo5612 ;)
Oui mais ci tu as une erreur ne continue pas parce que par après tu va êtres bloqué et tu va te dire "zut c'est a cause de l'erreur d'avant" O pire ci tu es premium cava parce que tu peut télécharger le fichier qui plante ;)
Après avoir fait la journée 3 du développement j'ai pu résoudre l'ancienne erreur mais des nouvelles se sont infligé oO
C'est bête quand même, il suffit de regarder et d'écrire ce qu'il dit et à chaque fois j'ai pas la même choses affiché que lui ^^
ma première erreur principale c'est que j'ai toujours ceci :
Page introuvable
Le controller pages n'a pas de méthode index
Quelque soit l'url..
http://localhost/BLOG\_V2/pages/view/1
http://localhost/BLOG\_V2/pages/view/toto
http://localhost/BLOG\_V2/pages/view/'"'
J'ai chercher et je n'ai pas trouver l'erreur...
Ensuite, la seconde c'est à la fin pour le foreach :
Notice: Undefined variable: pages in D:\PROGRAMMATION\wamp\www\BLOG_V2\view\layout\default.php on line 15
Warning: Invalid argument supplied for foreach() in D:\PROGRAMMATION\wamp\www\BLOG_V2\view\layout\default.php on line 15
Pourtant j'ai fait pareil :S
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lag="fr">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<title><?php echo isset($title_for_layout)?$title_for_layout:'Mon site'; ?></title>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" />
</head>
<body>
<div class="topbar">
<div class="topbar-inner">
<div class="container">
<h3><a href="#">Mon site</a></h3>
<ul class="nav">
<?php foreach($pages as $p): ?>
<li><a href="<?php echo BASE_URL.'/pages/view'.$p->id; ?>"
title="<?php echo $p->name; ?>"><?php echo $p->name; ?></a></li>
<?php endforeach; ?>
</ul>
</div>
</div>
</div>
<div class="container" style="padding-top:60px;">
<?php echo $content_for_layout; ?>
</div>
</body>
<script type="text/javascript" src="https:/ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</html>
Merci à ceux qui pourrons m'aider a résoudre ce problème ;)
Je croit que je vais laisser tomber car j'enchaine les erreurs, à ce rythme j'ai pas fini de relire les vidéo x)
Mdr' mais tien le coup moi j ai penser ça aussi au début a la 2 mais regarder ou j'en suis :) (a la 5)
J'ai fini mais niveau admin y'a quand même quelques erreurs à la création/édition d'article mais aussi sur la page pour les médias.
./cockpit/medias/index
Alors j'essaye de corriger, mais si c'est déjà arriver à quelqu'un... ;)
cockpit/post/edit
Notice: Array to string conversion in D:\PROGRAMMATION\wamp\www\BLOG_V2\core\Form.php on line 31
cockpit/medias/index
Warning: Missing argument 1 for MediasController::admin_index() in D:\PROGRAMMATION\wamp\www\BLOG_V2\controller\MediasController.php on line 4
Notice: Undefined variable: id in D:\PROGRAMMATION\wamp\www\BLOG_V2\controller\MediasController.php on line 25
Notice: Undefined variable: id in D:\PROGRAMMATION\wamp\www\BLOG_V2\controller\MediasController.php on line 26
J'ai éditer le titre du sujet afin de correspondre à ce post et non au premier problème.
Salut Yoan,
Serait-il possible que tu m'éclaires sur les problèmes que tu avais avec le DISPATCHER.PHP et autre ...
J'ai exactement les mêmes erreurs mais je ne parviens pas à trouver de solution ...
Si tu veux je t'envoie tout mes codes ...
D'avance merci.
j'ai créer un post concernant le dispatcher.php et le test de la class __construct avec le echo 'lol;
Si quelqu'un peut y jetter un oeil car je suis vraiment en galère :/
Merci beaucoup, désolé pour ma réponse qui n'aide personne ici...