Bonjour (ou bonne nuit ;p)
Très intéressé par le modèle MVC, je me suis lancé dans le tutoriel (il est tard, et l'absence de commentaires me rend la chose un peu flou par moment, mais je m'en sort tout de même)
Je viens de terminer l'étape 3 (Jour 3 si on préfère), et je remarque que chez moi du moins, certains mécanismes mis en place dans l'étape deux ne sont plus fonctionnels. Par exemple, si je tape une url qui n'a pas de controller, ou alors avec une autre action que view, (en gros, quelque soit l'url tapée différente de Racine/pages/view/n (ou n est un id de post)) alors j'ai un message d'erreur : Notice: Undefined variable: pages in C:\wamp\www\MVC\view\layout\default.php on line 15
Je comprend donc que
<?php foreach($pages as $p): ?>
ne fonctionne pas dans ce cas, mais je ne trouve pas pourquoi, et je ne comprend pas pourquoi quelque soit l'url, je tombe sur cette erreur, alors que je devrais tomber sur les erreurs 404 (qui fonctionnaient encore il y a peu...)
J'espère avoir été clair :s Je me ferais une joie de reformuler demain si ce n'est pas le cas.
Le Undefined est du au fait que dans l'étape 3 on initialise la liste des pages dans le controller. Du coup en chargeant un autre controller ou en affichant une erreur on a pas la de variable "pages".
Ce problème est normal est la solution est donnée à l'étape 4 :)
Edit : ah, du coup je supprime mes modifications persos si je veux coller au code de la suite? :/
Hmmm j'ai pas voulu aller dodo avant d'avoir réglé le problème, et je l'ai en apparence réglé, mais je ne suis pas sur de la bonne tenue du code...
J'ai d'abord ajouté un isset pour $pages sur mon layout default.php, ainsi je ne fait le foreach que si la variable est définie (mais j'aimerais comprendre comment elle l'est, comme ça je pourrais surement solutionner de façon plus propre ce problème)
Après ça, il restait un problème, lorsque je voulais afficher Racine/pages/ ou Racine/pages/view sans rien préciser de plus, j'ai ajouté une valeur par défaut dans ma fonction view dans PagesController, ainsi, si le paramètre $id n'est pas défini, je lui donne 1 comme valeur. Et la, je n'ai plus de problèmes. Mais si vous avez plus propre, je suis preneur!
Effectivement j'ai vu aussi de mon coté que la gestion de certaines erreurs avait sautées. Le framework développé dans le tutoriel sera disponible sur Github à la fin de la série de toute façon.
Merci beaucoup pour ton implication, et pour tes tutoriels...
J'aime autant comprendre, je ne télécharge pas souvent les sources, donc je m'accrocherai, et je suivrai pas à pas! Merci encore.