Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Développement
Développez vos sites en utilisant une architecture MVC
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="WhiiTe'" data-source="post: 6930184" data-attributes="member: 8987"><p style="text-align: center">[ATTACH=full]101546[/ATTACH] </p><p></p><p><span style="font-family: 'Roboto'"><p style="text-align: center">Yop <img src="/images/smileys/smiley-rg.svg" class="smilie" loading="lazy" alt=":RG:" title="RG :RG:" data-shortname=":RG:" />,</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Dans ce tutoriel je vais vous apprendre à utiliser <strong><span style="color: #e62525">un</span><span style="color: #e12727">e a</span><span style="color: #dc2929">rc</span><span style="color: #d72b2b">hi</span><span style="color: #d22d2d">te</span><span style="color: #ce2e2e">c</span><span style="color: #cb2f2f">tu</span><span style="color: #c63131">re </span><span style="color: #c13333">MV</span><span style="color: #bc3535">C</span> <span style="color: #bc3535">[FA]fa fa-terminal[/FA]</span></strong> pour développer vos sites.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Déjà avant de commencer, qu'est ce que le <strong><span style="color: #e62525">M</span><span style="color: #d72b2b">V</span><span style="color: #c93030">C</span> <span style="color: #bc3535">[FA]fa fa-cog[/FA]</span></strong> ?</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Le MVC <strong><span style="color: #e62525">(M</span><span style="color: #e22727">od</span><span style="color: #de2828">el </span><span style="color: #d92a2a">Vi</span><span style="color: #d52b2b">ew </span><span style="color: #d12d2d">Co</span><span style="color: #cd2f2f">nt</span><span style="color: #c93030">ro</span><span style="color: #c43232">ll</span><span style="color: #c03434">er</span><span style="color: #bc3535">)</span></strong> est une façon de gérer son code, le <strong><span style="color: #e62525">C</span><span style="color: #e22727">o</span><span style="color: #dd2828">n</span><span style="color: #d92a2a">t</span><span style="color: #d42c2c">r</span><span style="color: #d02e2e">o</span><span style="color: #cc2f2f">l</span><span style="color: #c73131">l</span><span style="color: #c33333">e</span><span style="color: #be3434">r</span></strong> s'occupe de la partie gestion (if ..), le <strong><span style="color: #e62525">M</span><span style="color: #dd2828">o</span><span style="color: #d42c2c">d</span><span style="color: #cc2f2f">e</span><span style="color: #c33333">l</span></strong> regroupe des fonctions qui vont interagir avec la <strong><span style="color: #e62525">b</span><span style="color: #e22626">a</span><span style="color: #df2828">s</span><span style="color: #db2929">e </span><span style="color: #d72b2b">d</span><span style="color: #d42c2c">e </span><span style="color: #d02e2e">d</span><span style="color: #cc2f2f">o</span><span style="color: #c93030">n</span><span style="color: #c53232">n</span><span style="color: #c13333">é</span><span style="color: #be3535">e</span> <span style="color: #bc3535">[FA]fa fa-database[/FA]</span></strong>, et comme son nom l'indique la <strong><span style="color: #e62525">V</span><span style="color: #db2929">i</span><span style="color: #d02e2e">e</span><span style="color: #c53232">w</span> <span style="color: #bc3535">[FA]fa fa-eye[/FA]</span></strong> permet l'affichage de la page.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">En utilisant l'architecture MVC, il n'y a pas que la façon de coder qui va changer, en effet les <strong><span style="color: #e62525">UR</span><span style="color: #e22626">Ls </span><span style="color: #df2828">vo</span><span style="color: #db2929">nt </span><span style="color: #d72b2b">êt</span><span style="color: #d42c2c">re</span><span style="color: #d02e2e">s d</span><span style="color: #cc2f2f">if</span><span style="color: #c93030">fé</span><span style="color: #c53232">re</span><span style="color: #c13333">nt</span><span style="color: #be3535">es</span></strong>, tout ça dépendra des routes que vous avez configurées.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Exemple : article<strong><span style="color: #e62525">.p</span><span style="color: #e22727">hp</span><span style="color: #de2828">?a</span><span style="color: #d92a2a">ct</span><span style="color: #d52b2b">io</span><span style="color: #d12d2d">n=</span><span style="color: #cd2f2f">vi</span><span style="color: #c93030">ew</span><span style="color: #c43232">&i</span><span style="color: #c03434">d=</span><span style="color: #bc3535">5</span></strong> deviendra <strong><span style="color: #e62525">a</span><span style="color: #e32626">r</span><span style="color: #e02727">t</span><span style="color: #dd2929">i</span><span style="color: #d92a2a">c</span><span style="color: #d62b2b">l</span><span style="color: #d32c2c">e</span><span style="color: #d02e2e">/</span><span style="color: #cd2f2f">v</span><span style="color: #ca3030">i</span><span style="color: #c73131">e</span><span style="color: #c33232">w</span><span style="color: #c03434">/</span><span style="color: #bd3535">5</span></strong></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Sans se casser la tête à utiliser un <strong><span style="color: #e62525">h</span><span style="color: #e12727">t</span><span style="color: #db2929">a</span><span style="color: #d62b2b">c</span><span style="color: #d02e2e">c</span><span style="color: #cb3030">e</span><span style="color: #c53232">s</span><span style="color: #c03434">s</span></strong> pour chaque page.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Développez un site avec une architecture MVC requiert des notions de base en POO. <strong><span style="color: #e62525">(P</span><span style="color: #e32626">ro</span><span style="color: #e02727">gr</span><span style="color: #dd2929">am</span><span style="color: #d92a2a">ma</span><span style="color: #d62b2b">ti</span><span style="color: #d32c2c">on </span><span style="color: #d02e2e">Or</span><span style="color: #cd2f2f">ie</span><span style="color: #ca3030">nt</span><span style="color: #c73131">ée </span><span style="color: #c33232">Ob</span><span style="color: #c03434">je</span><span style="color: #bd3535">t)</span></strong></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Je vous ai uploadé <strong><span style="color: #e62525">u</span><span style="color: #e22727">n</span><span style="color: #dd2828">e </span><span style="color: #d92a2a">b</span><span style="color: #d42c2c">a</span><span style="color: #d02e2e">s</span><span style="color: #cc2f2f">e </span><span style="color: #c73131">M</span><span style="color: #c33333">V</span><span style="color: #be3434">C</span> <span style="color: #bc3535">[FA]fa fa-upload[/FA]</span></strong>, elle est disponible à la fin du topic.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">[ATTACH=full]101547[/ATTACH] </p></p> <p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Trêve de bavardage passons au code, téléchargez mon fichier .rar et placez les fichiers dans <strong><span style="color: #e62525">u</span><span style="color: #e32626">n </span><span style="color: #df2828">d</span><span style="color: #dc2929">o</span><span style="color: #d82a2a">s</span><span style="color: #d52c2c">s</span><span style="color: #d22d2d">i</span><span style="color: #ce2e2e">e</span><span style="color: #cb2f2f">r </span><span style="color: #c83131">v</span><span style="color: #c43232">i</span><span style="color: #c13333">d</span><span style="color: #bd3535">e</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Dans votre navigateur rendez-vous dessus et vous remarquerez que dans l'<strong><span style="color: #e62525">U</span><span style="color: #d72b2b">R</span><span style="color: #c93030">L</span></strong>, vous avez été <strong><span style="color: #e62525">r</span><span style="color: #e32626">ed</span><span style="color: #de2828">ir</span><span style="color: #d92a2a">i</span><span style="color: #d62b2b">gé </span><span style="color: #d12d2d">ve</span><span style="color: #cc2f2f">rs </span><span style="color: #c73131">/</span><span style="color: #c43232">ho</span><span style="color: #bf3434">me</span> <span style="color: #bc3535">[FA]fa fa-home[/FA]</span></strong>, c'est normal pas de panique !</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Ouvrez avec votre éditeur de texte (Atom pour ma part) le fichier Model.php <strong><span style="color: #e62525">(</span><span style="color: #e32626">Co</span><span style="color: #de2828">r</span><span style="color: #db2929">e</span><span style="color: #d82a2a">/M</span><span style="color: #d32c2c">o</span><span style="color: #d02e2e">d</span><span style="color: #cd2f2f">el</span><span style="color: #c83131">.</span><span style="color: #c53232">p</span><span style="color: #c23333">hp</span><span style="color: #bd3535">)</span></strong>, et rentrez-y les informations de connexion à votre base de donnée.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Maintenant ouvrez Home.php <strong><span style="color: #e62525">(C</span><span style="color: #e22727">on</span><span style="color: #de2828">tr</span><span style="color: #da2a2a">ol</span><span style="color: #d62b2b">le</span><span style="color: #d22d2d">rs</span><span style="color: #ce2e2e">/H</span><span style="color: #ca3030">om</span><span style="color: #c63131">e.</span><span style="color: #c23333">ph</span><span style="color: #be3434">p)</span></strong>, si vous n'avez jamais touché à la POO ou vu un code fait en POO vous serez sûrement entrain de vous dire que c'est pas de votre niveau, mais <strong><span style="color: #e62525">s</span><span style="color: #e22727">u</span><span style="color: #dd2828">i</span><span style="color: #d92a2a">v</span><span style="color: #d42c2c">e</span><span style="color: #d02e2e">z </span><span style="color: #cc2f2f">b</span><span style="color: #c73131">i</span><span style="color: #c33333">e</span><span style="color: #be3434">n</span></strong> le tutoriel, c'est super simple !</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Premièrement nous déclarons la classe et <strong><span style="color: #e62525">l’</span><span style="color: #e32626">ét</span><span style="color: #e02727">en</span><span style="color: #dd2828">don</span><span style="color: #d92a2a">s a</span><span style="color: #d62b2b">u co</span><span style="color: #d22d2d">nt</span><span style="color: #cf2e2e">ro</span><span style="color: #cc2f2f">lle</span><span style="color: #c83131">r P</span><span style="color: #c53232">rin</span><span style="color: #c13333">ci</span><span style="color: #be3434">pa</span><span style="color: #bb3535">l</span></strong>, afin qu'il <strong><span style="color: #e62525">h</span><span style="color: #df2828">é</span><span style="color: #d72b2b">r</span><span style="color: #d02e2e">i</span><span style="color: #c93030">t</span><span style="color: #c13333">e</span></strong> des fonctions pré-faîtes.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]class Home extends Controller[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Ensuite juste en-dessous nous définissons <strong><span style="color: #e62525">u</span><span style="color: #e32626">ne </span><span style="color: #de2828">va</span><span style="color: #d92a2a">r</span><span style="color: #d62b2b">ia</span><span style="color: #d12d2d">bl</span><span style="color: #cc2f2f">e p</span><span style="color: #c73131">r</span><span style="color: #c43232">éf</span><span style="color: #bf3434">ix</span></strong> et un tableau contenu dans une variable $d, le "préfix" nous sera utile pour gérer le titre de notre page plus facilement, quant au tableau il nous permettra de faire <strong><span style="color: #e62525">pa</span><span style="color: #e22626">ss</span><span style="color: #df2828">er </span><span style="color: #db2929">de</span><span style="color: #d72b2b">s v</span><span style="color: #d42c2c">ar</span><span style="color: #d02e2e">ia</span><span style="color: #cc2f2f">bl</span><span style="color: #c93030">es </span><span style="color: #c53232">à l</span><span style="color: #c13333">a v</span><span style="color: #be3535">ue</span> <span style="color: #bc3535">[FA]fa fa-share-square-o[/FA]</span></strong>, on y reviendra plus tard.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">var $d = array();</span></p><p><span style="font-family: 'Roboto'">var $prefix = "RealityGaming - ";[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Puis en-dessous nous créons une <strong><span style="color: #e62525">f</span><span style="color: #e32626">on</span><span style="color: #de2828">c</span><span style="color: #db2929">t</span><span style="color: #d82a2a">io</span><span style="color: #d32c2c">n </span><span style="color: #d02e2e">p</span><span style="color: #cd2f2f">ub</span><span style="color: #c83131">l</span><span style="color: #c53232">i</span><span style="color: #c23333">qu</span><span style="color: #bd3535">e</span></strong> nommée index qui ne prend aucun paramètre, c'est cette fonction qui va gérer <strong><span style="color: #e62525">l</span><span style="color: #e22626">a </span><span style="color: #df2828">r</span><span style="color: #db2929">o</span><span style="color: #d72b2b">u</span><span style="color: #d42c2c">t</span><span style="color: #d02e2e">e </span><span style="color: #cc2f2f">/</span><span style="color: #c93030">h</span><span style="color: #c53232">o</span><span style="color: #c13333">m</span><span style="color: #be3535">e</span> <span style="color: #bc3535">[FA]fa fa-home[/FA]</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Pour vous familiariser avec l'architecture MVC, je vous invite à créer vous-même <strong><span style="color: #e62525">un</span><span style="color: #e12727">e r</span><span style="color: #dc2929">ou</span><span style="color: #d72b2b">te </span><span style="color: #d22d2d">no</span><span style="color: #ce2e2e">m</span><span style="color: #cb2f2f">mé</span><span style="color: #c63131">e t</span><span style="color: #c13333">es</span><span style="color: #bc3535">t</span></strong> puis effectuez un echo dedans, le code sera donné juste en-dessous mais c'est de sorte à ce que vous compreniez le principe.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">public function test(){</span></p><p><span style="font-family: 'Roboto'"> echo "Route /home/test";</span></p><p><span style="font-family: 'Roboto'">}</span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Dans l'URL ajoutez <strong><span style="color: #e62525">/</span><span style="color: #dd2828">t</span><span style="color: #d42c2c">e</span><span style="color: #cc2f2f">s</span><span style="color: #c33333">t</span></strong>, c'est magique le texte s'affiche !</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Désormais nous allons <strong><span style="color: #e62525">r</span><span style="color: #e22626">e</span><span style="color: #df2828">n</span><span style="color: #db2929">d</span><span style="color: #d72b2b">r</span><span style="color: #d42c2c">e </span><span style="color: #d02e2e">u</span><span style="color: #cc2f2f">n</span><span style="color: #c93030">e </span><span style="color: #c53232">v</span><span style="color: #c13333">u</span><span style="color: #be3535">e</span></strong> et faire <strong><span style="color: #e62525">pa</span><span style="color: #e12727">ss</span><span style="color: #dc2929">er </span><span style="color: #d72b2b">de</span><span style="color: #d22d2d">s v</span><span style="color: #ce2e2e">a</span><span style="color: #cb2f2f">ri</span><span style="color: #c63131">ab</span><span style="color: #c13333">le</span><span style="color: #bc3535">s</span></strong>, autrement dit un titre, une description et une phrase.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Pour information, si vous voulez rendre une vue, assurez-vous de mettre un fichier qui se situe dans un dossier <strong><span style="color: #e62525">no</span><span style="color: #e32626">mm</span><span style="color: #e02727">é c</span><span style="color: #dd2828">om</span><span style="color: #da2a2a">me </span><span style="color: #d72b2b">la </span><span style="color: #d42c2c">cl</span><span style="color: #d12d2d">ass</span><span style="color: #cd2f2f">e d</span><span style="color: #ca3030">e l</span><span style="color: #c73131">a f</span><span style="color: #c43232">on</span><span style="color: #c13333">ct</span><span style="color: #be3434">io</span><span style="color: #bb3535">n</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Nous sommes dans la classe <strong><span style="color: #e62525">H</span><span style="color: #db2929">o</span><span style="color: #d02e2e">m</span><span style="color: #c53232">e</span></strong>, donc il faudra un dossier <strong><span style="color: #e62525">H</span><span style="color: #db2929">o</span><span style="color: #d02e2e">m</span><span style="color: #c53232">e</span></strong> dans la Views, puis concernant les fichiers, peu importe le nom de ceux-ci, il n'y a pas de règle à leur sujet, vous les nommez <strong><span style="color: #e62525">c</span><span style="color: #e32626">o</span><span style="color: #e02727">m</span><span style="color: #dd2828">m</span><span style="color: #da2a2a">e </span><span style="color: #d72b2b">v</span><span style="color: #d42c2c">o</span><span style="color: #d12d2d">us </span><span style="color: #cc2f2f">v</span><span style="color: #c93030">o</span><span style="color: #c63131">u</span><span style="color: #c33333">l</span><span style="color: #c03434">e</span><span style="color: #bd3535">z</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Rappelez-vous de ce tableau contenu dans la variable $d que nous avons défini en haut de notre code, nous allons l'utiliser.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Dans <strong><span style="color: #e62525">l</span><span style="color: #e32626">a </span><span style="color: #e02727">f</span><span style="color: #dd2929">o</span><span style="color: #d92a2a">n</span><span style="color: #d62b2b">c</span><span style="color: #d32c2c">t</span><span style="color: #d02e2e">i</span><span style="color: #cd2f2f">o</span><span style="color: #ca3030">n </span><span style="color: #c73131">t</span><span style="color: #c33232">e</span><span style="color: #c03434">s</span><span style="color: #bd3535">t</span></strong>, mettez-y ce code.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">$d['info'] = array(</span></p><p><span style="font-family: 'Roboto'"> 'title' => $this->prefix."Test",</span></p><p><span style="font-family: 'Roboto'"> 'description' => "Route de test",</span></p><p><span style="font-family: 'Roboto'"> 'phrase' => "Notre première route par {VotrePseudo}"</span></p><p><span style="font-family: 'Roboto'">);</span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Nous mettons un tableau qui contient nos variables dans le tableau $d. <strong><span style="color: #e62525">(u</span><span style="color: #e32626">n t</span><span style="color: #e02727">ab</span><span style="color: #dd2828">le</span><span style="color: #da2a2a">au </span><span style="color: #d72b2b">da</span><span style="color: #d42c2c">ns </span><span style="color: #d12d2d">un t</span><span style="color: #cd2f2f">ab</span><span style="color: #ca3030">le</span><span style="color: #c73131">au </span><span style="color: #c43232">qu</span><span style="color: #c13333">oi</span><span style="color: #be3434">..</span><span style="color: #bb3535">)</span></strong></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Il faut désormais <strong><span style="color: #e62525">ren</span><span style="color: #e22626">dre </span><span style="color: #df2828">la </span><span style="color: #dc2929">vue </span><span style="color: #d92a2a">et </span><span style="color: #d62b2b">fai</span><span style="color: #d22d2d">re p</span><span style="color: #cf2e2e">as</span><span style="color: #cc2f2f">ser </span><span style="color: #c93030">le</span><span style="color: #c63131">s va</span><span style="color: #c33333">ri</span><span style="color: #c03434">abl</span><span style="color: #bc3535">es</span></strong> ! Donc pour cela ajoutez ça.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">$this->set($d);</span></p><p><span style="font-family: 'Roboto'">$this->render('test');[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Pensez bien à créer un fichier <strong><span style="color: #e62525">t</span><span style="color: #e12727">e</span><span style="color: #db2929">s</span><span style="color: #d62b2b">t</span><span style="color: #d02e2e">.</span><span style="color: #cb3030">p</span><span style="color: #c53232">h</span><span style="color: #c03434">p</span></strong> dans le dossier !</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Pour tester si les variables sont bien passées et ont les bonnes valeurs, je vous invite à faire un <strong><span style="color: #e62525">va</span><span style="color: #e22626">r_</span><span style="color: #df2828">du</span><span style="color: #db2929">mp </span><span style="color: #d82a2a">de </span><span style="color: #d42c2c">la </span><span style="color: #d12d2d">va</span><span style="color: #cd2f2f">ri</span><span style="color: #ca3030">ab</span><span style="color: #c63131">le </span><span style="color: #c33333">$i</span><span style="color: #bf3434">nf</span><span style="color: #bc3535">o</span></strong> dans votre fichier test.php.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]var_dump($info);[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Chez moi ça fonctionne bien j'ai comme résultat :</p> <p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">La variable $info vient de votre <strong><span style="color: #e62525">c</span><span style="color: #e22727">o</span><span style="color: #dd2828">n</span><span style="color: #d92a2a">t</span><span style="color: #d42c2c">r</span><span style="color: #d02e2e">o</span><span style="color: #cc2f2f">l</span><span style="color: #c73131">l</span><span style="color: #c33333">e</span><span style="color: #be3434">r</span></strong>, lorsque nous avons placé un tableau dans un tableau, et bien c'est ce second tableau qui a été <strong><span style="color: #e62525">e</span><span style="color: #e02727">x</span><span style="color: #d92a2a">t</span><span style="color: #d32c2c">r</span><span style="color: #cd2f2f">a</span><span style="color: #c73131">i</span><span style="color: #c03434">t</span></strong> vers notre fichier, d'où le fait qu'il faille mettre <strong><span style="color: #e62525">$</span><span style="color: #e32626">i</span><span style="color: #e02727">n</span><span style="color: #dd2929">f</span><span style="color: #d92a2a">o</span><span style="color: #d62b2b">[</span><span style="color: #d32c2c">'</span><span style="color: #d02e2e">t</span><span style="color: #cd2f2f">i</span><span style="color: #ca3030">t</span><span style="color: #c73131">l</span><span style="color: #c33232">e</span><span style="color: #c03434">'</span><span style="color: #bd3535">]</span></strong> par exemple pour récupérer le titre au-lieu de <strong><span style="color: #e62525">$</span><span style="color: #e22727">d</span><span style="color: #de2828">[</span><span style="color: #da2a2a">'</span><span style="color: #d62b2b">t</span><span style="color: #d22d2d">i</span><span style="color: #ce2e2e">t</span><span style="color: #ca3030">l</span><span style="color: #c63131">e</span><span style="color: #c23333">'</span><span style="color: #be3434">]</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">[ATTACH=full]101548[/ATTACH] </p></p> <p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Plutôt que de vous faire un long tutoriel sur l'architecture MVC, je pense qu'il serait plus judicieux de vous montrer comment utiliser le MVC <strong><span style="color: #e62525">d</span><span style="color: #e32626">an</span><span style="color: #de2828">s </span><span style="color: #db2929">u</span><span style="color: #d82a2a">n c</span><span style="color: #d32c2c">a</span><span style="color: #d02e2e">s </span><span style="color: #cd2f2f">co</span><span style="color: #c83131">n</span><span style="color: #c53232">c</span><span style="color: #c23333">re</span><span style="color: #bd3535">t</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Nous allons donc gérer <strong><span style="color: #e62525">un </span><span style="color: #e12727">sy</span><span style="color: #dc2929">st</span><span style="color: #d72b2b">èm</span><span style="color: #d22d2d">e d</span><span style="color: #ce2e2e">'</span><span style="color: #cb2f2f">ar</span><span style="color: #c63131">ti</span><span style="color: #c13333">cl</span><span style="color: #bc3535">e</span> <span style="color: #bc3535">[FA]fa fa-pencil[/FA]</span></strong>, avec un ID qui passe dans l'URL, et un <strong><span style="color: #e62525">li</span><span style="color: #e12727">st</span><span style="color: #dc2929">in</span><span style="color: #d72b2b">g d</span><span style="color: #d22d2d">es </span><span style="color: #ce2e2e">a</span><span style="color: #cb2f2f">rt</span><span style="color: #c63131">ic</span><span style="color: #c13333">le</span><span style="color: #bc3535">s</span> <span style="color: #bc3535">[FA]fa fa-list[/FA]</span></strong>, vous allez donc voir comment jouer <strong><span style="color: #e62525">j</span><span style="color: #e32626">ou</span><span style="color: #de2828">e</span><span style="color: #db2929">r </span><span style="color: #d82a2a">av</span><span style="color: #d32c2c">e</span><span style="color: #d02e2e">c </span><span style="color: #cd2f2f">le</span><span style="color: #c83131">s </span><span style="color: #c53232">U</span><span style="color: #c23333">RL</span><span style="color: #bd3535">s</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Premièrement nous voulons avoir <strong><span style="color: #e62525">/</span><span style="color: #e12727">a</span><span style="color: #db2929">r</span><span style="color: #d62b2b">t</span><span style="color: #d02e2e">i</span><span style="color: #cb3030">c</span><span style="color: #c53232">l</span><span style="color: #c03434">e</span></strong>, donc il faut créer un fichier Article.php <strong><span style="color: #e62525">(</span><span style="color: #e32626">C</span><span style="color: #e02727">o</span><span style="color: #dd2929">n</span><span style="color: #d92a2a">t</span><span style="color: #d62b2b">r</span><span style="color: #d32c2c">o</span><span style="color: #d02e2e">l</span><span style="color: #cd2f2f">l</span><span style="color: #ca3030">e</span><span style="color: #c73131">r</span><span style="color: #c33232">s</span><span style="color: #c03434">/</span><span style="color: #bd3535">)</span></strong>, et un <strong><span style="color: #e62525">d</span><span style="color: #e32626">o</span><span style="color: #e02727">s</span><span style="color: #dd2929">s</span><span style="color: #d92a2a">i</span><span style="color: #d62b2b">e</span><span style="color: #d32c2c">r </span><span style="color: #d02e2e">a</span><span style="color: #cd2f2f">r</span><span style="color: #ca3030">t</span><span style="color: #c73131">i</span><span style="color: #c33232">c</span><span style="color: #c03434">l</span><span style="color: #bd3535">e</span></strong> dans le dossier <strong><span style="color: #e62525">V</span><span style="color: #dd2828">i</span><span style="color: #d42c2c">e</span><span style="color: #cc2f2f">w</span><span style="color: #c33333">s</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Voilà le code que j'ai pour débuter.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'"><?php</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">class Article extends Controller {</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'"> var $d = array();</span></p><p><span style="font-family: 'Roboto'"> var $prefix = "RealityGaming - ";</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'"> public function index()</span></p><p><span style="font-family: 'Roboto'"> {</span></p><p><span style="font-family: 'Roboto'"> echo "ok";</span></p><p><span style="font-family: 'Roboto'"> }</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">}</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">?></span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Allez sur <strong><span style="color: #e62525">/</span><span style="color: #e12727">a</span><span style="color: #db2929">r</span><span style="color: #d62b2b">t</span><span style="color: #d02e2e">i</span><span style="color: #cb3030">c</span><span style="color: #c53232">l</span><span style="color: #c03434">e</span></strong>, si tout se passe bien vous devriez voir un "ok" apparaître, enlevez le du code <strong><span style="color: #e62525">s</span><span style="color: #e32626">'</span><span style="color: #df2828">i</span><span style="color: #dc2929">l </span><span style="color: #d82a2a">s</span><span style="color: #d52c2c">'</span><span style="color: #d22d2d">a</span><span style="color: #ce2e2e">f</span><span style="color: #cb2f2f">f</span><span style="color: #c83131">i</span><span style="color: #c43232">c</span><span style="color: #c13333">h</span><span style="color: #bd3535">e</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Sur cette route, nous allons afficher <strong><span style="color: #e62525">la </span><span style="color: #e12727">li</span><span style="color: #dc2929">st</span><span style="color: #d72b2b">e d</span><span style="color: #d22d2d">es </span><span style="color: #ce2e2e">a</span><span style="color: #cb2f2f">rt</span><span style="color: #c63131">ic</span><span style="color: #c13333">le</span><span style="color: #bc3535">s</span></strong>, donc pour cela, il faut créer un <strong><span style="color: #e62525">m</span><span style="color: #dd2828">o</span><span style="color: #d42c2c">d</span><span style="color: #cc2f2f">e</span><span style="color: #c33333">l</span></strong>, dans le dossier Models, créez un fichier, nommez le comme vous voulez et mettez y ce bout de code.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]<?php</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">class Articles extends Model {</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">}</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">?></span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Attention <span style="color: #bc3535">[FA]fa fa-exclamation-triangle[/FA]</span> ! Il ne faut pas mettre une classe identique <strong><span style="color: #e62525">en</span><span style="color: #e32626">tr</span><span style="color: #df2828">e l</span><span style="color: #dc2929">e M</span><span style="color: #d82a2a">od</span><span style="color: #d52c2c">el </span><span style="color: #d22d2d">et </span><span style="color: #ce2e2e">le </span><span style="color: #cb2f2f">Co</span><span style="color: #c83131">nt</span><span style="color: #c43232">ro</span><span style="color: #c13333">ll</span><span style="color: #bd3535">er</span></strong>, cela va provoquer une erreur car une classe ne peut pas être appelée <strong><span style="color: #e62525">p</span><span style="color: #e32626">l</span><span style="color: #df2828">u</span><span style="color: #dc2929">s </span><span style="color: #d82a2a">d</span><span style="color: #d52c2c">'</span><span style="color: #d22d2d">u</span><span style="color: #ce2e2e">n</span><span style="color: #cb2f2f">e </span><span style="color: #c83131">f</span><span style="color: #c43232">o</span><span style="color: #c13333">i</span><span style="color: #bd3535">s</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Dans le controller, <strong><span style="color: #e62525">c</span><span style="color: #e32626">h</span><span style="color: #e02727">a</span><span style="color: #dd2929">r</span><span style="color: #d92a2a">g</span><span style="color: #d62b2b">e</span><span style="color: #d32c2c">z </span><span style="color: #d02e2e">l</span><span style="color: #cd2f2f">e </span><span style="color: #ca3030">m</span><span style="color: #c73131">o</span><span style="color: #c33232">d</span><span style="color: #c03434">e</span><span style="color: #bd3535">l</span> <span style="color: #bc3535">[FA]fa fa-spinner[/FA]</span></strong> que vous venez de créer, je l'ai appelé Articles.php donc il faudra mettre :</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]$model = $this->loadModel('articles');[/PHP]</span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Vous n'avez pas de souci à vous faire <strong><span style="color: #e62525">co</span><span style="color: #e22626">nc</span><span style="color: #de2828">er</span><span style="color: #db2929">na</span><span style="color: #d72b2b">nt </span><span style="color: #d32c2c">le</span><span style="color: #cf2e2e">s m</span><span style="color: #cb2f2f">aj</span><span style="color: #c73131">us</span><span style="color: #c43232">cu</span><span style="color: #c03434">le</span><span style="color: #bc3535">s</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Maintenant que le model est chargé, on va créer la fonction qui va récupérer <strong><span style="color: #e62525">t</span><span style="color: #e32626">o</span><span style="color: #e02727">u</span><span style="color: #dd2828">s </span><span style="color: #da2a2a">l</span><span style="color: #d72b2b">e</span><span style="color: #d42c2c">s </span><span style="color: #d12d2d">ar</span><span style="color: #cc2f2f">t</span><span style="color: #c93030">i</span><span style="color: #c63131">c</span><span style="color: #c33333">l</span><span style="color: #c03434">e</span><span style="color: #bd3535">s</span></strong>, afin qu'on fasse un foreach plus simplement dans la Views.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Voici la fonction.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">public function getAllArticles(){</span></p><p><span style="font-family: 'Roboto'"> return $this::getDb()->query('SELECT * FROM article');</span></p><p><span style="font-family: 'Roboto'">}</span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Notre fonction est désormais faîte, il faut ensuite finir le controller afin de <strong><span style="color: #e62525">r</span><span style="color: #e22727">e</span><span style="color: #de2828">n</span><span style="color: #da2a2a">d</span><span style="color: #d62b2b">r</span><span style="color: #d22d2d">e </span><span style="color: #ce2e2e">l</span><span style="color: #ca3030">a </span><span style="color: #c63131">v</span><span style="color: #c23333">u</span><span style="color: #be3434">e</span></strong> et d'envoyer notre <strong><span style="color: #e62525">f</span><span style="color: #e32626">on</span><span style="color: #de2828">c</span><span style="color: #db2929">t</span><span style="color: #d82a2a">io</span><span style="color: #d32c2c">n </span><span style="color: #d02e2e">à </span><span style="color: #cd2f2f">la </span><span style="color: #c83131">V</span><span style="color: #c53232">i</span><span style="color: #c23333">ew</span><span style="color: #bd3535">s</span></strong>, rien de compliqué vous allez voir !</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">$d['var'] = array(</span></p><p><span style="font-family: 'Roboto'"> 'title' => $this->prefix."Les articles",</span></p><p><span style="font-family: 'Roboto'"> 'description' => "Les articles du site",</span></p><p><span style="font-family: 'Roboto'"> 'getAllArticles' => $model->getAllArticles()</span></p><p><span style="font-family: 'Roboto'">);</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">$this->set($d);</span></p><p><span style="font-family: 'Roboto'">$this->render('index');</span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Voici la suite de la fonction <strong><span style="color: #e62525">i</span><span style="color: #e02727">n</span><span style="color: #d92a2a">d</span><span style="color: #d32c2c">e</span><span style="color: #cd2f2f">x</span><span style="color: #c73131">(</span><span style="color: #c03434">)</span></strong>, mettez ce code sous la ligne <strong><span style="color: #e62525">q</span><span style="color: #e32626">ui </span><span style="color: #de2828">c</span><span style="color: #db2929">h</span><span style="color: #d82a2a">ar</span><span style="color: #d32c2c">g</span><span style="color: #d02e2e">e </span><span style="color: #cd2f2f">le </span><span style="color: #c83131">m</span><span style="color: #c53232">o</span><span style="color: #c23333">de</span><span style="color: #bd3535">l</span></strong> ! Ensuite dans votre fichier index.php dans Views, il faut faire un <strong><span style="color: #e62525">f</span><span style="color: #e02727">o</span><span style="color: #d92a2a">r</span><span style="color: #d32c2c">e</span><span style="color: #cd2f2f">a</span><span style="color: #c73131">c</span><span style="color: #c03434">h</span></strong> afin que la liste des articles soit <strong><span style="color: #e62525">a</span><span style="color: #e12727">f</span><span style="color: #dc2929">f</span><span style="color: #d72b2b">i</span><span style="color: #d22d2d">c</span><span style="color: #ce2e2e">h</span><span style="color: #c93030">é</span><span style="color: #c43232">e</span><span style="color: #bf3434">s</span></strong>, je vous donne mon fichier complet, c'est du PHP basique ça, pas besoin de vous expliquer chaque chose.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[HTML]</span></p><p><span style="font-family: 'Roboto'"><!DOCTYPE html></span></p><p><span style="font-family: 'Roboto'"><html></span></p><p><span style="font-family: 'Roboto'"> <head></span></p><p><span style="font-family: 'Roboto'"> <meta charset="utf-8"></span></p><p><span style="font-family: 'Roboto'"> <title><?= $var['title']; ?></title></span></p><p><span style="font-family: 'Roboto'"> <meta name="description" content="<?= $var['description']; ?>"></span></p><p><span style="font-family: 'Roboto'"> </head></span></p><p><span style="font-family: 'Roboto'"> <body></span></p><p><span style="font-family: 'Roboto'"> <h3>Les articles du site</h3></span></p><p><span style="font-family: 'Roboto'"> <ul></span></p><p><span style="font-family: 'Roboto'"> <?php</span></p><p><span style="font-family: 'Roboto'"> foreach($var['getAllArticles'] as $article){</span></p><p><span style="font-family: 'Roboto'"> ?></span></p><p><span style="font-family: 'Roboto'"> <li><a href="article/view/<?= $article['id']; ?>"><?= $article['titre']; ?></a></li></span></p><p><span style="font-family: 'Roboto'"> <?php</span></p><p><span style="font-family: 'Roboto'"> }</span></p><p><span style="font-family: 'Roboto'"> ?></span></p><p><span style="font-family: 'Roboto'"> </ul></span></p><p><span style="font-family: 'Roboto'"> </body></span></p><p><span style="font-family: 'Roboto'"></html></span></p><p><span style="font-family: 'Roboto'">[/HTML]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Vous pouvez apercevoir que je met un lien vers <strong><span style="color: #e62525">/a</span><span style="color: #e12727">rt</span><span style="color: #dc2929">ic</span><span style="color: #d72b2b">le</span><span style="color: #d22d2d">/v</span><span style="color: #ce2e2e">i</span><span style="color: #cb2f2f">ew</span><span style="color: #c63131">/{</span><span style="color: #c13333">id</span><span style="color: #bc3535">}</span></strong>, ce sera une page dédié à un article qui aura comme ID <strong><span style="color: #e62525">ce</span><span style="color: #e22727">lu</span><span style="color: #de2828">i q</span><span style="color: #da2a2a">ui </span><span style="color: #d62b2b">pa</span><span style="color: #d22d2d">ss</span><span style="color: #ce2e2e">e d</span><span style="color: #ca3030">an</span><span style="color: #c63131">s l</span><span style="color: #c23333">'U</span><span style="color: #be3434">RL</span></strong>, il faut donc faire <strong><span style="color: #e62525">l</span><span style="color: #e22727">a </span><span style="color: #de2828">r</span><span style="color: #da2a2a">o</span><span style="color: #d62b2b">u</span><span style="color: #d22d2d">t</span><span style="color: #ce2e2e">e </span><span style="color: #ca3030">v</span><span style="color: #c63131">i</span><span style="color: #c23333">e</span><span style="color: #be3434">w</span></strong> qui prend un <strong><span style="color: #e62525">p</span><span style="color: #e12727">a</span><span style="color: #dc2929">r</span><span style="color: #d72b2b">a</span><span style="color: #d22d2d">m</span><span style="color: #ce2e2e">è</span><span style="color: #c93030">t</span><span style="color: #c43232">r</span><span style="color: #bf3434">e</span></strong> ID, puis une fonction pour récupérer <strong><span style="color: #e62525">l</span><span style="color: #e32626">e</span><span style="color: #e02727">s </span><span style="color: #dd2828">i</span><span style="color: #da2a2a">n</span><span style="color: #d72b2b">f</span><span style="color: #d42c2c">o</span><span style="color: #d12d2d">rm</span><span style="color: #cc2f2f">a</span><span style="color: #c93030">t</span><span style="color: #c63131">i</span><span style="color: #c33333">o</span><span style="color: #c03434">n</span><span style="color: #bd3535">s</span></strong> de l'article.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Voici la fonction.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">public function view($params1){</span></p><p><span style="font-family: 'Roboto'"> if(!$params1 || !is_numeric($params1) || $params1 < 1){</span></p><p><span style="font-family: 'Roboto'"> header('Location:'.WEBROOT);</span></p><p><span style="font-family: 'Roboto'"> exit();</span></p><p><span style="font-family: 'Roboto'"> }</span></p><p><span style="font-family: 'Roboto'">}</span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Le code se répète, vous devriez commencer à véritablement comprendre <strong><span style="color: #e62525">le </span><span style="color: #e22727">fo</span><span style="color: #de2828">nc</span><span style="color: #d92a2a">ti</span><span style="color: #d52b2b">on</span><span style="color: #d12d2d">ne</span><span style="color: #cd2f2f">me</span><span style="color: #c93030">nt </span><span style="color: #c43232">du </span><span style="color: #c03434">MV</span><span style="color: #bc3535">C</span></strong>, on créer une <strong><span style="color: #e62525">fo</span><span style="color: #e32626">nc</span><span style="color: #df2828">ti</span><span style="color: #dc2929">on </span><span style="color: #d82a2a">pu</span><span style="color: #d52c2c">bl</span><span style="color: #d22d2d">iq</span><span style="color: #ce2e2e">ue </span><span style="color: #cb2f2f">no</span><span style="color: #c83131">mm</span><span style="color: #c43232">ée </span><span style="color: #c13333">vi</span><span style="color: #bd3535">ew</span></strong>, mais cette fois-ci qui contient un paramètre, <strong><span style="color: #e62525">$</span><span style="color: #e12727">p</span><span style="color: #db2929">a</span><span style="color: #d62b2b">r</span><span style="color: #d02e2e">a</span><span style="color: #cb3030">m</span><span style="color: #c53232">s</span><span style="color: #c03434">1</span></strong> aura comme valeur <strong><span style="color: #e62525">l</span><span style="color: #e32626">'I</span><span style="color: #de2828">D q</span><span style="color: #d92a2a">u</span><span style="color: #d62b2b">i p</span><span style="color: #d12d2d">as</span><span style="color: #cc2f2f">se </span><span style="color: #c73131">e</span><span style="color: #c43232">n U</span><span style="color: #bf3434">RL</span></strong>, c'est comme ça qu'il faut faire pour <strong><span style="color: #e62525">pa</span><span style="color: #e12727">ss</span><span style="color: #dd2929">er </span><span style="color: #d82a2a">de</span><span style="color: #d32c2c">s p</span><span style="color: #cf2e2e">ar</span><span style="color: #ca3030">am</span><span style="color: #c63232">èt</span><span style="color: #c13333">re</span><span style="color: #bc3535">s</span></strong> dans l'URL, vous pouvez <strong><span style="color: #e62525">e</span><span style="color: #e12727">n</span><span style="color: #dc2929">c</span><span style="color: #d72b2b">h</span><span style="color: #d22d2d">a</span><span style="color: #ce2e2e">î</span><span style="color: #c93030">n</span><span style="color: #c43232">e</span><span style="color: #bf3434">r</span></strong> les paramètres en les séparant d'une virgule.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Le nom de la variable n'a <strong><span style="color: #e62525">a</span><span style="color: #e32626">uc</span><span style="color: #de2828">u</span><span style="color: #db2929">n</span><span style="color: #d82a2a">e i</span><span style="color: #d32c2c">m</span><span style="color: #d02e2e">p</span><span style="color: #cd2f2f">or</span><span style="color: #c83131">t</span><span style="color: #c53232">a</span><span style="color: #c23333">nc</span><span style="color: #bd3535">e</span></strong>, j'ai pris l'habitude de mettre $params1, $params2 et ainsi de suite, mais vous nommez vos variables comme vous le voulez !</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Ensuite il faut faire une <strong><span style="color: #e62525">f</span><span style="color: #e12727">o</span><span style="color: #db2929">n</span><span style="color: #d62b2b">c</span><span style="color: #d02e2e">t</span><span style="color: #cb3030">i</span><span style="color: #c53232">o</span><span style="color: #c03434">n</span></strong> qui va récupèrer les informations de l'article qui a comme ID celui qui passe en URL, rendez-vous dans le <strong><span style="color: #e62525">le </span><span style="color: #e12727">mo</span><span style="color: #dc2929">de</span><span style="color: #d72b2b">l d</span><span style="color: #d22d2d">es </span><span style="color: #ce2e2e">a</span><span style="color: #cb2f2f">rt</span><span style="color: #c63131">ic</span><span style="color: #c13333">le</span><span style="color: #bc3535">s</span></strong> et placez-y cette fonction.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">public function getArticleById($id){</span></p><p><span style="font-family: 'Roboto'"> $q = $this::getDb()->prepare('SELECT * FROM article WHERE id = :id');</span></p><p><span style="font-family: 'Roboto'"> $q->execute(['id' => $id]);</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'"> return $q->fetch();</span></p><p><span style="font-family: 'Roboto'">}</span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Puis dans notre <strong><span style="color: #e62525">c</span><span style="color: #e22727">o</span><span style="color: #dd2828">n</span><span style="color: #d92a2a">t</span><span style="color: #d42c2c">r</span><span style="color: #d02e2e">o</span><span style="color: #cc2f2f">l</span><span style="color: #c73131">l</span><span style="color: #c33333">e</span><span style="color: #be3434">r</span></strong> il faut <strong><span style="color: #e62525">c</span><span style="color: #e02727">h</span><span style="color: #d92a2a">a</span><span style="color: #d32c2c">r</span><span style="color: #cd2f2f">g</span><span style="color: #c73131">e</span><span style="color: #c03434">r</span></strong> le model et <strong><span style="color: #e62525">a</span><span style="color: #e02727">p</span><span style="color: #d92a2a">p</span><span style="color: #d32c2c">e</span><span style="color: #cd2f2f">l</span><span style="color: #c73131">e</span><span style="color: #c03434">r</span></strong> la fonction.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[PHP]</span></p><p><span style="font-family: 'Roboto'">$model = $this->loadModel('articles'); // On charge le model articles</span></p><p><span style="font-family: 'Roboto'">$article = $model->getArticleById($params1); // On utilise la fonction getAllArticleById en passant l'id de l'url</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">if(!$article){ // Si l'article n'existe pas</span></p><p><span style="font-family: 'Roboto'"> header('Location:'.WEBROOT);</span></p><p><span style="font-family: 'Roboto'"> exit();</span></p><p><span style="font-family: 'Roboto'">}</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">$d['var'] = array(</span></p><p><span style="font-family: 'Roboto'"> 'titre' => $this->prefix.$article['titre'],</span></p><p><span style="font-family: 'Roboto'"> 'description' => "Article numéro ".$article['id'],</span></p><p><span style="font-family: 'Roboto'"> 'article' => $article</span></p><p><span style="font-family: 'Roboto'">);</span></p><p><span style="font-family: 'Roboto'"></span></p><p><span style="font-family: 'Roboto'">$this->set($d);</span></p><p><span style="font-family: 'Roboto'">$this->render('view'); // On rend la vue à view.php</span></p><p><span style="font-family: 'Roboto'">[/PHP]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Voici la suite de la fonction, on charge le model, on appelle une <strong><span style="color: #e62525">fon</span><span style="color: #e32626">cti</span><span style="color: #e02727">on q</span><span style="color: #dd2828">ui r</span><span style="color: #da2a2a">écu</span><span style="color: #d72b2b">pèr</span><span style="color: #d42c2c">e le</span><span style="color: #d12d2d">s inf</span><span style="color: #ce2e2e">orm</span><span style="color: #cb3030">ati</span><span style="color: #c83131">ons </span><span style="color: #c53232">de l</span><span style="color: #c23333">'ar</span><span style="color: #bf3434">tic</span><span style="color: #bc3535">le</span></strong> en lui donnant l'ID qui passe dans l'URL, puis je rends la vue à un fichier <strong><span style="color: #e62525">V</span><span style="color: #e12727">i</span><span style="color: #db2929">e</span><span style="color: #d62b2b">w</span><span style="color: #d02e2e">.</span><span style="color: #cb3030">p</span><span style="color: #c53232">h</span><span style="color: #c03434">p</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Pour finir il faut dans notre vue <strong><span style="color: #e62525">a</span><span style="color: #e12727">f</span><span style="color: #db2929">f</span><span style="color: #d62b2b">i</span><span style="color: #d02e2e">c</span><span style="color: #cb3030">h</span><span style="color: #c53232">e</span><span style="color: #c03434">r</span></strong> les informations de l'article, voici le <strong><span style="color: #e62525">c</span><span style="color: #db2929">o</span><span style="color: #d02e2e">d</span><span style="color: #c53232">e</span> <span style="color: #bc3535">[FA]fa fa-terminal[/FA]</span></strong> de ma page view.php.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p>[CODE]</span></p><p><span style="font-family: 'Roboto'"><!DOCTYPE html></span></p><p><span style="font-family: 'Roboto'"><html></span></p><p><span style="font-family: 'Roboto'"> <head></span></p><p><span style="font-family: 'Roboto'"> <meta charset="utf-8"></span></p><p><span style="font-family: 'Roboto'"> <title><?= $var['titre']; ?></title></span></p><p><span style="font-family: 'Roboto'"> <meta name="description" content="<?= $var['description']; ?>"></span></p><p><span style="font-family: 'Roboto'"> </head></span></p><p><span style="font-family: 'Roboto'"> <body></span></p><p><span style="font-family: 'Roboto'"> <h3>Article numéro <?= $var['article']['id']; ?> - <?= $var['article']['titre']; ?></h3></span></p><p><span style="font-family: 'Roboto'"> <p><?= $var['article']['contenu'] ?></p></span></p><p><span style="font-family: 'Roboto'"> </body></span></p><p><span style="font-family: 'Roboto'"></html></span></p><p><span style="font-family: 'Roboto'">[/CODE]<p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Un <strong><span style="color: #e62525">f</span><span style="color: #dd2828">e</span><span style="color: #d42c2c">t</span><span style="color: #cc2f2f">c</span><span style="color: #c33333">h</span></strong> nous rend un <strong><span style="color: #e62525">t</span><span style="color: #e02727">a</span><span style="color: #d92a2a">b</span><span style="color: #d32c2c">l</span><span style="color: #cd2f2f">e</span><span style="color: #c73131">a</span><span style="color: #c03434">u</span></strong> qui contient ce qu'il a récupèré, rappelez-vous que dans notre <strong><span style="color: #e62525">m</span><span style="color: #dd2828">o</span><span style="color: #d42c2c">d</span><span style="color: #cc2f2f">e</span><span style="color: #c33333">l</span></strong> nous en avons fait un, d'où le fait qu'il faille mettre <strong><span style="color: #e62525">$v</span><span style="color: #e22626">ar</span><span style="color: #df2828">['</span><span style="color: #db2929">ar</span><span style="color: #d72b2b">ti</span><span style="color: #d42c2c">cl</span><span style="color: #d02e2e">e'</span><span style="color: #cc2f2f">][</span><span style="color: #c93030">'t</span><span style="color: #c53232">it</span><span style="color: #c13333">re</span><span style="color: #be3535">']</span></strong> par exemple pour récupèrer le titre de l'article.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Encore une fois c'est du <strong><span style="color: #e62525">P</span><span style="color: #e22727">H</span><span style="color: #dd2828">P </span><span style="color: #d92a2a">b</span><span style="color: #d42c2c">a</span><span style="color: #d02e2e">s</span><span style="color: #cc2f2f">i</span><span style="color: #c73131">q</span><span style="color: #c33333">u</span><span style="color: #be3434">e</span></strong>, pas besoin de détailler ça.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Voilà ce que j'ai sur mon navigateur : <a href="https://i.gyazo.com/bfa8a09ff4254673024fe2e6b0b29ca3.gif" target="_blank"><span style="color: #e62525">http</span><span style="color: #e32626">s://</span><span style="color: #e02727">i.g</span><span style="color: #dd2828">yazo</span><span style="color: #da2a2a">.com</span><span style="color: #d72b2b">/bfa</span><span style="color: #d42c2c">8a09</span><span style="color: #d12d2d">ff4</span><span style="color: #ce2e2e">2546</span><span style="color: #cb2f2f">7302</span><span style="color: #c83131">4fe2</span><span style="color: #c53232">e6b0</span><span style="color: #c23333">b29c</span><span style="color: #bf3434">a3.</span><span style="color: #bc3535">gif</span></a></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Après c'est à vous de <strong><span style="color: #e62525">g</span><span style="color: #e32626">é</span><span style="color: #df2828">r</span><span style="color: #dc2929">e</span><span style="color: #d82a2a">r </span><span style="color: #d52c2c">l</span><span style="color: #d22d2d">e </span><span style="color: #ce2e2e">d</span><span style="color: #cb2f2f">e</span><span style="color: #c83131">s</span><span style="color: #c43232">i</span><span style="color: #c13333">g</span><span style="color: #bd3535">n</span></strong> et d'ajouter des <strong><span style="color: #e62525">fo</span><span style="color: #e32626">nc</span><span style="color: #e02727">ti</span><span style="color: #dd2828">on</span><span style="color: #da2a2a">na</span><span style="color: #d72b2b">li</span><span style="color: #d42c2c">té</span><span style="color: #d12d2d">s su</span><span style="color: #cd2f2f">pp</span><span style="color: #ca3030">lé</span><span style="color: #c73131">me</span><span style="color: #c43232">nt</span><span style="color: #c13333">ai</span><span style="color: #be3434">re</span><span style="color: #bb3535">s</span></strong>.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Grâce à l'architecture MVC vous n'aurez plus besoin de <strong><span style="color: #e62525">r</span><span style="color: #e32626">ép</span><span style="color: #de2828">e</span><span style="color: #db2929">t</span><span style="color: #d82a2a">er </span><span style="color: #d32c2c">v</span><span style="color: #d02e2e">o</span><span style="color: #cd2f2f">tr</span><span style="color: #c83131">e </span><span style="color: #c53232">c</span><span style="color: #c23333">od</span><span style="color: #bd3535">e</span></strong>, de faire 150 lignes pour inscrire un membre, c'est un des <strong><span style="color: #e62525">a</span><span style="color: #e12727">v</span><span style="color: #dc2929">a</span><span style="color: #d72b2b">n</span><span style="color: #d22d2d">t</span><span style="color: #ce2e2e">a</span><span style="color: #c93030">g</span><span style="color: #c43232">e</span><span style="color: #bf3434">s</span></strong> que l'architecture MVC vous offre.</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Le tutoriel touche à sa fin, vous devriez désormais <strong><span style="color: #e62525">m</span><span style="color: #e12727">a</span><span style="color: #dc2929">î</span><span style="color: #d72b2b">t</span><span style="color: #d22d2d">r</span><span style="color: #ce2e2e">i</span><span style="color: #c93030">s</span><span style="color: #c43232">e</span><span style="color: #bf3434">r</span></strong> ces points-ci :</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p> <ul> <li data-xf-list-type="ul"> Faire une <strong><span style="color: #e62525">r</span><span style="color: #dd2828">o</span><span style="color: #d42c2c">u</span><span style="color: #cc2f2f">t</span><span style="color: #c33333">e</span></strong></li> <li data-xf-list-type="ul"> Gérer les <strong><span style="color: #e62525">f</span><span style="color: #e12727">i</span><span style="color: #db2929">c</span><span style="color: #d62b2b">h</span><span style="color: #d02e2e">i</span><span style="color: #cb3030">e</span><span style="color: #c53232">r</span><span style="color: #c03434">s</span></strong> d'un MVC</li> <li data-xf-list-type="ul"> Intéragir avec la <strong><span style="color: #e62525">b</span><span style="color: #e22626">a</span><span style="color: #df2828">s</span><span style="color: #db2929">e </span><span style="color: #d72b2b">d</span><span style="color: #d42c2c">e </span><span style="color: #d02e2e">d</span><span style="color: #cc2f2f">o</span><span style="color: #c93030">n</span><span style="color: #c53232">n</span><span style="color: #c13333">é</span><span style="color: #be3535">e</span></strong></li> <li data-xf-list-type="ul"> Faire passer des <strong><span style="color: #e62525">p</span><span style="color: #e22727">a</span><span style="color: #dd2828">r</span><span style="color: #d92a2a">a</span><span style="color: #d42c2c">m</span><span style="color: #d02e2e">è</span><span style="color: #cc2f2f">t</span><span style="color: #c73131">r</span><span style="color: #c33333">e</span><span style="color: #be3434">s</span></strong> dans l'URL</li> </ul> <p style="text-align: center"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'">Si vous avez une <strong><span style="color: #e62525">r</span><span style="color: #e12727">e</span><span style="color: #db2929">m</span><span style="color: #d62b2b">a</span><span style="color: #d02e2e">r</span><span style="color: #cb3030">q</span><span style="color: #c53232">u</span><span style="color: #c03434">e</span></strong> ou une <strong><span style="color: #e62525">q</span><span style="color: #e12727">u</span><span style="color: #db2929">e</span><span style="color: #d62b2b">s</span><span style="color: #d02e2e">t</span><span style="color: #cb3030">i</span><span style="color: #c53232">o</span><span style="color: #c03434">n</span></strong>, n'hésitez pas à m'envoyer un <strong><span style="color: #e62525">m</span><span style="color: #e22626">e</span><span style="color: #df2828">s</span><span style="color: #db2929">s</span><span style="color: #d72b2b">a</span><span style="color: #d42c2c">g</span><span style="color: #d02e2e">e </span><span style="color: #cc2f2f">p</span><span style="color: #c93030">r</span><span style="color: #c53232">i</span><span style="color: #c13333">v</span><span style="color: #be3535">é</span></strong> !</p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"><img src="/data/assets/smilies/tchuss.gif" class="smilie" loading="lazy" alt=":tchuss:" title="Tchuss :tchuss:" data-shortname=":tchuss:" /></p></span></p><p style="text-align: center"><span style="font-family: 'Roboto'"></p><p></span></p></blockquote><p></p>
[QUOTE="WhiiTe', post: 6930184, member: 8987"] [CENTER][ATTACH=full]101546[/ATTACH] [/CENTER] [FONT=Roboto][CENTER]Yop :RG:, Dans ce tutoriel je vais vous apprendre à utiliser [B][color=#e62525]un[/color][color=#e12727]e a[/color][color=#dc2929]rc[/color][color=#d72b2b]hi[/color][color=#d22d2d]te[/color][color=#ce2e2e]c[/color][color=#cb2f2f]tu[/color][color=#c63131]re [/color][color=#c13333]MV[/color][color=#bc3535]C[/color] [COLOR=#bc3535][FA]fa fa-terminal[/FA][/COLOR][/B] pour développer vos sites. Déjà avant de commencer, qu'est ce que le [B][color=#e62525]M[/color][color=#d72b2b]V[/color][color=#c93030]C[/color] [COLOR=#bc3535][FA]fa fa-cog[/FA][/COLOR][/B] ? Le MVC [B][color=#e62525](M[/color][color=#e22727]od[/color][color=#de2828]el [/color][color=#d92a2a]Vi[/color][color=#d52b2b]ew [/color][color=#d12d2d]Co[/color][color=#cd2f2f]nt[/color][color=#c93030]ro[/color][color=#c43232]ll[/color][color=#c03434]er[/color][color=#bc3535])[/color][/B] est une façon de gérer son code, le [B][color=#e62525]C[/color][color=#e22727]o[/color][color=#dd2828]n[/color][color=#d92a2a]t[/color][color=#d42c2c]r[/color][color=#d02e2e]o[/color][color=#cc2f2f]l[/color][color=#c73131]l[/color][color=#c33333]e[/color][color=#be3434]r[/color][/B] s'occupe de la partie gestion (if ..), le [B][color=#e62525]M[/color][color=#dd2828]o[/color][color=#d42c2c]d[/color][color=#cc2f2f]e[/color][color=#c33333]l[/color][/B] regroupe des fonctions qui vont interagir avec la [B][color=#e62525]b[/color][color=#e22626]a[/color][color=#df2828]s[/color][color=#db2929]e [/color][color=#d72b2b]d[/color][color=#d42c2c]e [/color][color=#d02e2e]d[/color][color=#cc2f2f]o[/color][color=#c93030]n[/color][color=#c53232]n[/color][color=#c13333]é[/color][color=#be3535]e[/color] [COLOR=#bc3535][FA]fa fa-database[/FA][/COLOR][/B], et comme son nom l'indique la [B][color=#e62525]V[/color][color=#db2929]i[/color][color=#d02e2e]e[/color][color=#c53232]w[/color] [COLOR=#bc3535][FA]fa fa-eye[/FA][/COLOR][/B] permet l'affichage de la page. En utilisant l'architecture MVC, il n'y a pas que la façon de coder qui va changer, en effet les [B][color=#e62525]UR[/color][color=#e22626]Ls [/color][color=#df2828]vo[/color][color=#db2929]nt [/color][color=#d72b2b]êt[/color][color=#d42c2c]re[/color][color=#d02e2e]s d[/color][color=#cc2f2f]if[/color][color=#c93030]fé[/color][color=#c53232]re[/color][color=#c13333]nt[/color][color=#be3535]es[/color][/B], tout ça dépendra des routes que vous avez configurées. Exemple : article[B][color=#e62525].p[/color][color=#e22727]hp[/color][color=#de2828]?a[/color][color=#d92a2a]ct[/color][color=#d52b2b]io[/color][color=#d12d2d]n=[/color][color=#cd2f2f]vi[/color][color=#c93030]ew[/color][color=#c43232]&i[/color][color=#c03434]d=[/color][color=#bc3535]5[/color][/B] deviendra [B][color=#e62525]a[/color][color=#e32626]r[/color][color=#e02727]t[/color][color=#dd2929]i[/color][color=#d92a2a]c[/color][color=#d62b2b]l[/color][color=#d32c2c]e[/color][color=#d02e2e]/[/color][color=#cd2f2f]v[/color][color=#ca3030]i[/color][color=#c73131]e[/color][color=#c33232]w[/color][color=#c03434]/[/color][color=#bd3535]5[/color][/B] Sans se casser la tête à utiliser un [B][color=#e62525]h[/color][color=#e12727]t[/color][color=#db2929]a[/color][color=#d62b2b]c[/color][color=#d02e2e]c[/color][color=#cb3030]e[/color][color=#c53232]s[/color][color=#c03434]s[/color][/B] pour chaque page. Développez un site avec une architecture MVC requiert des notions de base en POO. [B][color=#e62525](P[/color][color=#e32626]ro[/color][color=#e02727]gr[/color][color=#dd2929]am[/color][color=#d92a2a]ma[/color][color=#d62b2b]ti[/color][color=#d32c2c]on [/color][color=#d02e2e]Or[/color][color=#cd2f2f]ie[/color][color=#ca3030]nt[/color][color=#c73131]ée [/color][color=#c33232]Ob[/color][color=#c03434]je[/color][color=#bd3535]t)[/color][/B] Je vous ai uploadé [B][color=#e62525]u[/color][color=#e22727]n[/color][color=#dd2828]e [/color][color=#d92a2a]b[/color][color=#d42c2c]a[/color][color=#d02e2e]s[/color][color=#cc2f2f]e [/color][color=#c73131]M[/color][color=#c33333]V[/color][color=#be3434]C[/color] [COLOR=#bc3535][FA]fa fa-upload[/FA][/COLOR][/B], elle est disponible à la fin du topic. [CENTER][ATTACH=full]101547[/ATTACH] [/CENTER] Trêve de bavardage passons au code, téléchargez mon fichier .rar et placez les fichiers dans [B][color=#e62525]u[/color][color=#e32626]n [/color][color=#df2828]d[/color][color=#dc2929]o[/color][color=#d82a2a]s[/color][color=#d52c2c]s[/color][color=#d22d2d]i[/color][color=#ce2e2e]e[/color][color=#cb2f2f]r [/color][color=#c83131]v[/color][color=#c43232]i[/color][color=#c13333]d[/color][color=#bd3535]e[/color][/B]. Dans votre navigateur rendez-vous dessus et vous remarquerez que dans l'[B][color=#e62525]U[/color][color=#d72b2b]R[/color][color=#c93030]L[/color][/B], vous avez été [B][color=#e62525]r[/color][color=#e32626]ed[/color][color=#de2828]ir[/color][color=#d92a2a]i[/color][color=#d62b2b]gé [/color][color=#d12d2d]ve[/color][color=#cc2f2f]rs [/color][color=#c73131]/[/color][color=#c43232]ho[/color][color=#bf3434]me[/color] [COLOR=#bc3535][FA]fa fa-home[/FA][/COLOR][/B], c'est normal pas de panique ! Ouvrez avec votre éditeur de texte (Atom pour ma part) le fichier Model.php [B][color=#e62525]([/color][color=#e32626]Co[/color][color=#de2828]r[/color][color=#db2929]e[/color][color=#d82a2a]/M[/color][color=#d32c2c]o[/color][color=#d02e2e]d[/color][color=#cd2f2f]el[/color][color=#c83131].[/color][color=#c53232]p[/color][color=#c23333]hp[/color][color=#bd3535])[/color][/B], et rentrez-y les informations de connexion à votre base de donnée. Maintenant ouvrez Home.php [B][color=#e62525](C[/color][color=#e22727]on[/color][color=#de2828]tr[/color][color=#da2a2a]ol[/color][color=#d62b2b]le[/color][color=#d22d2d]rs[/color][color=#ce2e2e]/H[/color][color=#ca3030]om[/color][color=#c63131]e.[/color][color=#c23333]ph[/color][color=#be3434]p)[/color][/B], si vous n'avez jamais touché à la POO ou vu un code fait en POO vous serez sûrement entrain de vous dire que c'est pas de votre niveau, mais [B][color=#e62525]s[/color][color=#e22727]u[/color][color=#dd2828]i[/color][color=#d92a2a]v[/color][color=#d42c2c]e[/color][color=#d02e2e]z [/color][color=#cc2f2f]b[/color][color=#c73131]i[/color][color=#c33333]e[/color][color=#be3434]n[/color][/B] le tutoriel, c'est super simple ! Premièrement nous déclarons la classe et [B][color=#e62525]l’[/color][color=#e32626]ét[/color][color=#e02727]en[/color][color=#dd2828]don[/color][color=#d92a2a]s a[/color][color=#d62b2b]u co[/color][color=#d22d2d]nt[/color][color=#cf2e2e]ro[/color][color=#cc2f2f]lle[/color][color=#c83131]r P[/color][color=#c53232]rin[/color][color=#c13333]ci[/color][color=#be3434]pa[/color][color=#bb3535]l[/color][/B], afin qu'il [B][color=#e62525]h[/color][color=#df2828]é[/color][color=#d72b2b]r[/color][color=#d02e2e]i[/color][color=#c93030]t[/color][color=#c13333]e[/color][/B] des fonctions pré-faîtes. [/CENTER][PHP]class Home extends Controller[/PHP][CENTER] Ensuite juste en-dessous nous définissons [B][color=#e62525]u[/color][color=#e32626]ne [/color][color=#de2828]va[/color][color=#d92a2a]r[/color][color=#d62b2b]ia[/color][color=#d12d2d]bl[/color][color=#cc2f2f]e p[/color][color=#c73131]r[/color][color=#c43232]éf[/color][color=#bf3434]ix[/color][/B] et un tableau contenu dans une variable $d, le "préfix" nous sera utile pour gérer le titre de notre page plus facilement, quant au tableau il nous permettra de faire [B][color=#e62525]pa[/color][color=#e22626]ss[/color][color=#df2828]er [/color][color=#db2929]de[/color][color=#d72b2b]s v[/color][color=#d42c2c]ar[/color][color=#d02e2e]ia[/color][color=#cc2f2f]bl[/color][color=#c93030]es [/color][color=#c53232]à l[/color][color=#c13333]a v[/color][color=#be3535]ue[/color] [COLOR=#bc3535][FA]fa fa-share-square-o[/FA][/COLOR][/B], on y reviendra plus tard. [/CENTER][PHP] var $d = array(); var $prefix = "RealityGaming - ";[/PHP][CENTER] Puis en-dessous nous créons une [B][color=#e62525]f[/color][color=#e32626]on[/color][color=#de2828]c[/color][color=#db2929]t[/color][color=#d82a2a]io[/color][color=#d32c2c]n [/color][color=#d02e2e]p[/color][color=#cd2f2f]ub[/color][color=#c83131]l[/color][color=#c53232]i[/color][color=#c23333]qu[/color][color=#bd3535]e[/color][/B] nommée index qui ne prend aucun paramètre, c'est cette fonction qui va gérer [B][color=#e62525]l[/color][color=#e22626]a [/color][color=#df2828]r[/color][color=#db2929]o[/color][color=#d72b2b]u[/color][color=#d42c2c]t[/color][color=#d02e2e]e [/color][color=#cc2f2f]/[/color][color=#c93030]h[/color][color=#c53232]o[/color][color=#c13333]m[/color][color=#be3535]e[/color] [COLOR=#bc3535][FA]fa fa-home[/FA][/COLOR][/B]. Pour vous familiariser avec l'architecture MVC, je vous invite à créer vous-même [B][color=#e62525]un[/color][color=#e12727]e r[/color][color=#dc2929]ou[/color][color=#d72b2b]te [/color][color=#d22d2d]no[/color][color=#ce2e2e]m[/color][color=#cb2f2f]mé[/color][color=#c63131]e t[/color][color=#c13333]es[/color][color=#bc3535]t[/color][/B] puis effectuez un echo dedans, le code sera donné juste en-dessous mais c'est de sorte à ce que vous compreniez le principe. [/CENTER][PHP] public function test(){ echo "Route /home/test"; } [/PHP][CENTER] Dans l'URL ajoutez [B][color=#e62525]/[/color][color=#dd2828]t[/color][color=#d42c2c]e[/color][color=#cc2f2f]s[/color][color=#c33333]t[/color][/B], c'est magique le texte s'affiche ! Désormais nous allons [B][color=#e62525]r[/color][color=#e22626]e[/color][color=#df2828]n[/color][color=#db2929]d[/color][color=#d72b2b]r[/color][color=#d42c2c]e [/color][color=#d02e2e]u[/color][color=#cc2f2f]n[/color][color=#c93030]e [/color][color=#c53232]v[/color][color=#c13333]u[/color][color=#be3535]e[/color][/B] et faire [B][color=#e62525]pa[/color][color=#e12727]ss[/color][color=#dc2929]er [/color][color=#d72b2b]de[/color][color=#d22d2d]s v[/color][color=#ce2e2e]a[/color][color=#cb2f2f]ri[/color][color=#c63131]ab[/color][color=#c13333]le[/color][color=#bc3535]s[/color][/B], autrement dit un titre, une description et une phrase. Pour information, si vous voulez rendre une vue, assurez-vous de mettre un fichier qui se situe dans un dossier [B][color=#e62525]no[/color][color=#e32626]mm[/color][color=#e02727]é c[/color][color=#dd2828]om[/color][color=#da2a2a]me [/color][color=#d72b2b]la [/color][color=#d42c2c]cl[/color][color=#d12d2d]ass[/color][color=#cd2f2f]e d[/color][color=#ca3030]e l[/color][color=#c73131]a f[/color][color=#c43232]on[/color][color=#c13333]ct[/color][color=#be3434]io[/color][color=#bb3535]n[/color][/B]. Nous sommes dans la classe [B][color=#e62525]H[/color][color=#db2929]o[/color][color=#d02e2e]m[/color][color=#c53232]e[/color][/B], donc il faudra un dossier [B][color=#e62525]H[/color][color=#db2929]o[/color][color=#d02e2e]m[/color][color=#c53232]e[/color][/B] dans la Views, puis concernant les fichiers, peu importe le nom de ceux-ci, il n'y a pas de règle à leur sujet, vous les nommez [B][color=#e62525]c[/color][color=#e32626]o[/color][color=#e02727]m[/color][color=#dd2828]m[/color][color=#da2a2a]e [/color][color=#d72b2b]v[/color][color=#d42c2c]o[/color][color=#d12d2d]us [/color][color=#cc2f2f]v[/color][color=#c93030]o[/color][color=#c63131]u[/color][color=#c33333]l[/color][color=#c03434]e[/color][color=#bd3535]z[/color][/B]. Rappelez-vous de ce tableau contenu dans la variable $d que nous avons défini en haut de notre code, nous allons l'utiliser. Dans [B][color=#e62525]l[/color][color=#e32626]a [/color][color=#e02727]f[/color][color=#dd2929]o[/color][color=#d92a2a]n[/color][color=#d62b2b]c[/color][color=#d32c2c]t[/color][color=#d02e2e]i[/color][color=#cd2f2f]o[/color][color=#ca3030]n [/color][color=#c73131]t[/color][color=#c33232]e[/color][color=#c03434]s[/color][color=#bd3535]t[/color][/B], mettez-y ce code. [/CENTER][PHP] $d['info'] = array( 'title' => $this->prefix."Test", 'description' => "Route de test", 'phrase' => "Notre première route par {VotrePseudo}" ); [/PHP][CENTER] Nous mettons un tableau qui contient nos variables dans le tableau $d. [B][color=#e62525](u[/color][color=#e32626]n t[/color][color=#e02727]ab[/color][color=#dd2828]le[/color][color=#da2a2a]au [/color][color=#d72b2b]da[/color][color=#d42c2c]ns [/color][color=#d12d2d]un t[/color][color=#cd2f2f]ab[/color][color=#ca3030]le[/color][color=#c73131]au [/color][color=#c43232]qu[/color][color=#c13333]oi[/color][color=#be3434]..[/color][color=#bb3535])[/color][/B] Il faut désormais [B][color=#e62525]ren[/color][color=#e22626]dre [/color][color=#df2828]la [/color][color=#dc2929]vue [/color][color=#d92a2a]et [/color][color=#d62b2b]fai[/color][color=#d22d2d]re p[/color][color=#cf2e2e]as[/color][color=#cc2f2f]ser [/color][color=#c93030]le[/color][color=#c63131]s va[/color][color=#c33333]ri[/color][color=#c03434]abl[/color][color=#bc3535]es[/color][/B] ! Donc pour cela ajoutez ça. [/CENTER][PHP] $this->set($d); $this->render('test');[/PHP][CENTER] Pensez bien à créer un fichier [B][color=#e62525]t[/color][color=#e12727]e[/color][color=#db2929]s[/color][color=#d62b2b]t[/color][color=#d02e2e].[/color][color=#cb3030]p[/color][color=#c53232]h[/color][color=#c03434]p[/color][/B] dans le dossier ! Pour tester si les variables sont bien passées et ont les bonnes valeurs, je vous invite à faire un [B][color=#e62525]va[/color][color=#e22626]r_[/color][color=#df2828]du[/color][color=#db2929]mp [/color][color=#d82a2a]de [/color][color=#d42c2c]la [/color][color=#d12d2d]va[/color][color=#cd2f2f]ri[/color][color=#ca3030]ab[/color][color=#c63131]le [/color][color=#c33333]$i[/color][color=#bf3434]nf[/color][color=#bc3535]o[/color][/B] dans votre fichier test.php. [/CENTER] [PHP]var_dump($info);[/PHP][CENTER] Chez moi ça fonctionne bien j'ai comme résultat :[/CENTER] [CENTER] La variable $info vient de votre [B][color=#e62525]c[/color][color=#e22727]o[/color][color=#dd2828]n[/color][color=#d92a2a]t[/color][color=#d42c2c]r[/color][color=#d02e2e]o[/color][color=#cc2f2f]l[/color][color=#c73131]l[/color][color=#c33333]e[/color][color=#be3434]r[/color][/B], lorsque nous avons placé un tableau dans un tableau, et bien c'est ce second tableau qui a été [B][color=#e62525]e[/color][color=#e02727]x[/color][color=#d92a2a]t[/color][color=#d32c2c]r[/color][color=#cd2f2f]a[/color][color=#c73131]i[/color][color=#c03434]t[/color][/B] vers notre fichier, d'où le fait qu'il faille mettre [B][color=#e62525]$[/color][color=#e32626]i[/color][color=#e02727]n[/color][color=#dd2929]f[/color][color=#d92a2a]o[/color][color=#d62b2b][[/color][color=#d32c2c]'[/color][color=#d02e2e]t[/color][color=#cd2f2f]i[/color][color=#ca3030]t[/color][color=#c73131]l[/color][color=#c33232]e[/color][color=#c03434]'[/color][color=#bd3535]][/color][/B] par exemple pour récupérer le titre au-lieu de [B][color=#e62525]$[/color][color=#e22727]d[/color][color=#de2828][[/color][color=#da2a2a]'[/color][color=#d62b2b]t[/color][color=#d22d2d]i[/color][color=#ce2e2e]t[/color][color=#ca3030]l[/color][color=#c63131]e[/color][color=#c23333]'[/color][color=#be3434]][/color][/B]. [CENTER][ATTACH=full]101548[/ATTACH] [/CENTER] Plutôt que de vous faire un long tutoriel sur l'architecture MVC, je pense qu'il serait plus judicieux de vous montrer comment utiliser le MVC [B][color=#e62525]d[/color][color=#e32626]an[/color][color=#de2828]s [/color][color=#db2929]u[/color][color=#d82a2a]n c[/color][color=#d32c2c]a[/color][color=#d02e2e]s [/color][color=#cd2f2f]co[/color][color=#c83131]n[/color][color=#c53232]c[/color][color=#c23333]re[/color][color=#bd3535]t[/color][/B]. Nous allons donc gérer [B][color=#e62525]un [/color][color=#e12727]sy[/color][color=#dc2929]st[/color][color=#d72b2b]èm[/color][color=#d22d2d]e d[/color][color=#ce2e2e]'[/color][color=#cb2f2f]ar[/color][color=#c63131]ti[/color][color=#c13333]cl[/color][color=#bc3535]e[/color] [COLOR=#bc3535][FA]fa fa-pencil[/FA][/COLOR][/B], avec un ID qui passe dans l'URL, et un [B][color=#e62525]li[/color][color=#e12727]st[/color][color=#dc2929]in[/color][color=#d72b2b]g d[/color][color=#d22d2d]es [/color][color=#ce2e2e]a[/color][color=#cb2f2f]rt[/color][color=#c63131]ic[/color][color=#c13333]le[/color][color=#bc3535]s[/color] [COLOR=#bc3535][FA]fa fa-list[/FA][/COLOR][/B], vous allez donc voir comment jouer [B][color=#e62525]j[/color][color=#e32626]ou[/color][color=#de2828]e[/color][color=#db2929]r [/color][color=#d82a2a]av[/color][color=#d32c2c]e[/color][color=#d02e2e]c [/color][color=#cd2f2f]le[/color][color=#c83131]s [/color][color=#c53232]U[/color][color=#c23333]RL[/color][color=#bd3535]s[/color][/B]. Premièrement nous voulons avoir [B][color=#e62525]/[/color][color=#e12727]a[/color][color=#db2929]r[/color][color=#d62b2b]t[/color][color=#d02e2e]i[/color][color=#cb3030]c[/color][color=#c53232]l[/color][color=#c03434]e[/color][/B], donc il faut créer un fichier Article.php [B][color=#e62525]([/color][color=#e32626]C[/color][color=#e02727]o[/color][color=#dd2929]n[/color][color=#d92a2a]t[/color][color=#d62b2b]r[/color][color=#d32c2c]o[/color][color=#d02e2e]l[/color][color=#cd2f2f]l[/color][color=#ca3030]e[/color][color=#c73131]r[/color][color=#c33232]s[/color][color=#c03434]/[/color][color=#bd3535])[/color][/B], et un [B][color=#e62525]d[/color][color=#e32626]o[/color][color=#e02727]s[/color][color=#dd2929]s[/color][color=#d92a2a]i[/color][color=#d62b2b]e[/color][color=#d32c2c]r [/color][color=#d02e2e]a[/color][color=#cd2f2f]r[/color][color=#ca3030]t[/color][color=#c73131]i[/color][color=#c33232]c[/color][color=#c03434]l[/color][color=#bd3535]e[/color][/B] dans le dossier [B][color=#e62525]V[/color][color=#dd2828]i[/color][color=#d42c2c]e[/color][color=#cc2f2f]w[/color][color=#c33333]s[/color][/B]. Voilà le code que j'ai pour débuter. [/CENTER][PHP] <?php class Article extends Controller { var $d = array(); var $prefix = "RealityGaming - "; public function index() { echo "ok"; } } ?> [/PHP][CENTER] Allez sur [B][color=#e62525]/[/color][color=#e12727]a[/color][color=#db2929]r[/color][color=#d62b2b]t[/color][color=#d02e2e]i[/color][color=#cb3030]c[/color][color=#c53232]l[/color][color=#c03434]e[/color][/B], si tout se passe bien vous devriez voir un "ok" apparaître, enlevez le du code [B][color=#e62525]s[/color][color=#e32626]'[/color][color=#df2828]i[/color][color=#dc2929]l [/color][color=#d82a2a]s[/color][color=#d52c2c]'[/color][color=#d22d2d]a[/color][color=#ce2e2e]f[/color][color=#cb2f2f]f[/color][color=#c83131]i[/color][color=#c43232]c[/color][color=#c13333]h[/color][color=#bd3535]e[/color][/B]. Sur cette route, nous allons afficher [B][color=#e62525]la [/color][color=#e12727]li[/color][color=#dc2929]st[/color][color=#d72b2b]e d[/color][color=#d22d2d]es [/color][color=#ce2e2e]a[/color][color=#cb2f2f]rt[/color][color=#c63131]ic[/color][color=#c13333]le[/color][color=#bc3535]s[/color][/B], donc pour cela, il faut créer un [B][color=#e62525]m[/color][color=#dd2828]o[/color][color=#d42c2c]d[/color][color=#cc2f2f]e[/color][color=#c33333]l[/color][/B], dans le dossier Models, créez un fichier, nommez le comme vous voulez et mettez y ce bout de code. [/CENTER][PHP]<?php class Articles extends Model { } ?> [/PHP][CENTER] Attention [COLOR=#bc3535][FA]fa fa-exclamation-triangle[/FA][/COLOR] ! Il ne faut pas mettre une classe identique [B][color=#e62525]en[/color][color=#e32626]tr[/color][color=#df2828]e l[/color][color=#dc2929]e M[/color][color=#d82a2a]od[/color][color=#d52c2c]el [/color][color=#d22d2d]et [/color][color=#ce2e2e]le [/color][color=#cb2f2f]Co[/color][color=#c83131]nt[/color][color=#c43232]ro[/color][color=#c13333]ll[/color][color=#bd3535]er[/color][/B], cela va provoquer une erreur car une classe ne peut pas être appelée [B][color=#e62525]p[/color][color=#e32626]l[/color][color=#df2828]u[/color][color=#dc2929]s [/color][color=#d82a2a]d[/color][color=#d52c2c]'[/color][color=#d22d2d]u[/color][color=#ce2e2e]n[/color][color=#cb2f2f]e [/color][color=#c83131]f[/color][color=#c43232]o[/color][color=#c13333]i[/color][color=#bd3535]s[/color][/B]. Dans le controller, [B][color=#e62525]c[/color][color=#e32626]h[/color][color=#e02727]a[/color][color=#dd2929]r[/color][color=#d92a2a]g[/color][color=#d62b2b]e[/color][color=#d32c2c]z [/color][color=#d02e2e]l[/color][color=#cd2f2f]e [/color][color=#ca3030]m[/color][color=#c73131]o[/color][color=#c33232]d[/color][color=#c03434]e[/color][color=#bd3535]l[/color] [COLOR=#bc3535][FA]fa fa-spinner[/FA][/COLOR][/B] que vous venez de créer, je l'ai appelé Articles.php donc il faudra mettre : [/CENTER] [PHP]$model = $this->loadModel('articles');[/PHP] [CENTER] Vous n'avez pas de souci à vous faire [B][color=#e62525]co[/color][color=#e22626]nc[/color][color=#de2828]er[/color][color=#db2929]na[/color][color=#d72b2b]nt [/color][color=#d32c2c]le[/color][color=#cf2e2e]s m[/color][color=#cb2f2f]aj[/color][color=#c73131]us[/color][color=#c43232]cu[/color][color=#c03434]le[/color][color=#bc3535]s[/color][/B]. Maintenant que le model est chargé, on va créer la fonction qui va récupérer [B][color=#e62525]t[/color][color=#e32626]o[/color][color=#e02727]u[/color][color=#dd2828]s [/color][color=#da2a2a]l[/color][color=#d72b2b]e[/color][color=#d42c2c]s [/color][color=#d12d2d]ar[/color][color=#cc2f2f]t[/color][color=#c93030]i[/color][color=#c63131]c[/color][color=#c33333]l[/color][color=#c03434]e[/color][color=#bd3535]s[/color][/B], afin qu'on fasse un foreach plus simplement dans la Views. Voici la fonction. [/CENTER][PHP] public function getAllArticles(){ return $this::getDb()->query('SELECT * FROM article'); } [/PHP][CENTER] Notre fonction est désormais faîte, il faut ensuite finir le controller afin de [B][color=#e62525]r[/color][color=#e22727]e[/color][color=#de2828]n[/color][color=#da2a2a]d[/color][color=#d62b2b]r[/color][color=#d22d2d]e [/color][color=#ce2e2e]l[/color][color=#ca3030]a [/color][color=#c63131]v[/color][color=#c23333]u[/color][color=#be3434]e[/color][/B] et d'envoyer notre [B][color=#e62525]f[/color][color=#e32626]on[/color][color=#de2828]c[/color][color=#db2929]t[/color][color=#d82a2a]io[/color][color=#d32c2c]n [/color][color=#d02e2e]à [/color][color=#cd2f2f]la [/color][color=#c83131]V[/color][color=#c53232]i[/color][color=#c23333]ew[/color][color=#bd3535]s[/color][/B], rien de compliqué vous allez voir ! [/CENTER][PHP] $d['var'] = array( 'title' => $this->prefix."Les articles", 'description' => "Les articles du site", 'getAllArticles' => $model->getAllArticles() ); $this->set($d); $this->render('index'); [/PHP][CENTER] Voici la suite de la fonction [B][color=#e62525]i[/color][color=#e02727]n[/color][color=#d92a2a]d[/color][color=#d32c2c]e[/color][color=#cd2f2f]x[/color][color=#c73131]([/color][color=#c03434])[/color][/B], mettez ce code sous la ligne [B][color=#e62525]q[/color][color=#e32626]ui [/color][color=#de2828]c[/color][color=#db2929]h[/color][color=#d82a2a]ar[/color][color=#d32c2c]g[/color][color=#d02e2e]e [/color][color=#cd2f2f]le [/color][color=#c83131]m[/color][color=#c53232]o[/color][color=#c23333]de[/color][color=#bd3535]l[/color][/B] ! Ensuite dans votre fichier index.php dans Views, il faut faire un [B][color=#e62525]f[/color][color=#e02727]o[/color][color=#d92a2a]r[/color][color=#d32c2c]e[/color][color=#cd2f2f]a[/color][color=#c73131]c[/color][color=#c03434]h[/color][/B] afin que la liste des articles soit [B][color=#e62525]a[/color][color=#e12727]f[/color][color=#dc2929]f[/color][color=#d72b2b]i[/color][color=#d22d2d]c[/color][color=#ce2e2e]h[/color][color=#c93030]é[/color][color=#c43232]e[/color][color=#bf3434]s[/color][/B], je vous donne mon fichier complet, c'est du PHP basique ça, pas besoin de vous expliquer chaque chose. [/CENTER][HTML] <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title><?= $var['title']; ?></title> <meta name="description" content="<?= $var['description']; ?>"> </head> <body> <h3>Les articles du site</h3> <ul> <?php foreach($var['getAllArticles'] as $article){ ?> <li><a href="article/view/<?= $article['id']; ?>"><?= $article['titre']; ?></a></li> <?php } ?> </ul> </body> </html> [/HTML][CENTER] Vous pouvez apercevoir que je met un lien vers [B][color=#e62525]/a[/color][color=#e12727]rt[/color][color=#dc2929]ic[/color][color=#d72b2b]le[/color][color=#d22d2d]/v[/color][color=#ce2e2e]i[/color][color=#cb2f2f]ew[/color][color=#c63131]/{[/color][color=#c13333]id[/color][color=#bc3535]}[/color][/B], ce sera une page dédié à un article qui aura comme ID [B][color=#e62525]ce[/color][color=#e22727]lu[/color][color=#de2828]i q[/color][color=#da2a2a]ui [/color][color=#d62b2b]pa[/color][color=#d22d2d]ss[/color][color=#ce2e2e]e d[/color][color=#ca3030]an[/color][color=#c63131]s l[/color][color=#c23333]'U[/color][color=#be3434]RL[/color][/B], il faut donc faire [B][color=#e62525]l[/color][color=#e22727]a [/color][color=#de2828]r[/color][color=#da2a2a]o[/color][color=#d62b2b]u[/color][color=#d22d2d]t[/color][color=#ce2e2e]e [/color][color=#ca3030]v[/color][color=#c63131]i[/color][color=#c23333]e[/color][color=#be3434]w[/color][/B] qui prend un [B][color=#e62525]p[/color][color=#e12727]a[/color][color=#dc2929]r[/color][color=#d72b2b]a[/color][color=#d22d2d]m[/color][color=#ce2e2e]è[/color][color=#c93030]t[/color][color=#c43232]r[/color][color=#bf3434]e[/color][/B] ID, puis une fonction pour récupérer [B][color=#e62525]l[/color][color=#e32626]e[/color][color=#e02727]s [/color][color=#dd2828]i[/color][color=#da2a2a]n[/color][color=#d72b2b]f[/color][color=#d42c2c]o[/color][color=#d12d2d]rm[/color][color=#cc2f2f]a[/color][color=#c93030]t[/color][color=#c63131]i[/color][color=#c33333]o[/color][color=#c03434]n[/color][color=#bd3535]s[/color][/B] de l'article. Voici la fonction. [/CENTER] [PHP] public function view($params1){ if(!$params1 || !is_numeric($params1) || $params1 < 1){ header('Location:'.WEBROOT); exit(); } } [/PHP][CENTER] Le code se répète, vous devriez commencer à véritablement comprendre [B][color=#e62525]le [/color][color=#e22727]fo[/color][color=#de2828]nc[/color][color=#d92a2a]ti[/color][color=#d52b2b]on[/color][color=#d12d2d]ne[/color][color=#cd2f2f]me[/color][color=#c93030]nt [/color][color=#c43232]du [/color][color=#c03434]MV[/color][color=#bc3535]C[/color][/B], on créer une [B][color=#e62525]fo[/color][color=#e32626]nc[/color][color=#df2828]ti[/color][color=#dc2929]on [/color][color=#d82a2a]pu[/color][color=#d52c2c]bl[/color][color=#d22d2d]iq[/color][color=#ce2e2e]ue [/color][color=#cb2f2f]no[/color][color=#c83131]mm[/color][color=#c43232]ée [/color][color=#c13333]vi[/color][color=#bd3535]ew[/color][/B], mais cette fois-ci qui contient un paramètre, [B][color=#e62525]$[/color][color=#e12727]p[/color][color=#db2929]a[/color][color=#d62b2b]r[/color][color=#d02e2e]a[/color][color=#cb3030]m[/color][color=#c53232]s[/color][color=#c03434]1[/color][/B] aura comme valeur [B][color=#e62525]l[/color][color=#e32626]'I[/color][color=#de2828]D q[/color][color=#d92a2a]u[/color][color=#d62b2b]i p[/color][color=#d12d2d]as[/color][color=#cc2f2f]se [/color][color=#c73131]e[/color][color=#c43232]n U[/color][color=#bf3434]RL[/color][/B], c'est comme ça qu'il faut faire pour [B][color=#e62525]pa[/color][color=#e12727]ss[/color][color=#dd2929]er [/color][color=#d82a2a]de[/color][color=#d32c2c]s p[/color][color=#cf2e2e]ar[/color][color=#ca3030]am[/color][color=#c63232]èt[/color][color=#c13333]re[/color][color=#bc3535]s[/color][/B] dans l'URL, vous pouvez [B][color=#e62525]e[/color][color=#e12727]n[/color][color=#dc2929]c[/color][color=#d72b2b]h[/color][color=#d22d2d]a[/color][color=#ce2e2e]î[/color][color=#c93030]n[/color][color=#c43232]e[/color][color=#bf3434]r[/color][/B] les paramètres en les séparant d'une virgule. Le nom de la variable n'a [B][color=#e62525]a[/color][color=#e32626]uc[/color][color=#de2828]u[/color][color=#db2929]n[/color][color=#d82a2a]e i[/color][color=#d32c2c]m[/color][color=#d02e2e]p[/color][color=#cd2f2f]or[/color][color=#c83131]t[/color][color=#c53232]a[/color][color=#c23333]nc[/color][color=#bd3535]e[/color][/B], j'ai pris l'habitude de mettre $params1, $params2 et ainsi de suite, mais vous nommez vos variables comme vous le voulez ! Ensuite il faut faire une [B][color=#e62525]f[/color][color=#e12727]o[/color][color=#db2929]n[/color][color=#d62b2b]c[/color][color=#d02e2e]t[/color][color=#cb3030]i[/color][color=#c53232]o[/color][color=#c03434]n[/color][/B] qui va récupèrer les informations de l'article qui a comme ID celui qui passe en URL, rendez-vous dans le [B][color=#e62525]le [/color][color=#e12727]mo[/color][color=#dc2929]de[/color][color=#d72b2b]l d[/color][color=#d22d2d]es [/color][color=#ce2e2e]a[/color][color=#cb2f2f]rt[/color][color=#c63131]ic[/color][color=#c13333]le[/color][color=#bc3535]s[/color][/B] et placez-y cette fonction. [/CENTER] [PHP] public function getArticleById($id){ $q = $this::getDb()->prepare('SELECT * FROM article WHERE id = :id'); $q->execute(['id' => $id]); return $q->fetch(); } [/PHP][CENTER] Puis dans notre [B][color=#e62525]c[/color][color=#e22727]o[/color][color=#dd2828]n[/color][color=#d92a2a]t[/color][color=#d42c2c]r[/color][color=#d02e2e]o[/color][color=#cc2f2f]l[/color][color=#c73131]l[/color][color=#c33333]e[/color][color=#be3434]r[/color][/B] il faut [B][color=#e62525]c[/color][color=#e02727]h[/color][color=#d92a2a]a[/color][color=#d32c2c]r[/color][color=#cd2f2f]g[/color][color=#c73131]e[/color][color=#c03434]r[/color][/B] le model et [B][color=#e62525]a[/color][color=#e02727]p[/color][color=#d92a2a]p[/color][color=#d32c2c]e[/color][color=#cd2f2f]l[/color][color=#c73131]e[/color][color=#c03434]r[/color][/B] la fonction. [/CENTER] [PHP] $model = $this->loadModel('articles'); // On charge le model articles $article = $model->getArticleById($params1); // On utilise la fonction getAllArticleById en passant l'id de l'url if(!$article){ // Si l'article n'existe pas header('Location:'.WEBROOT); exit(); } $d['var'] = array( 'titre' => $this->prefix.$article['titre'], 'description' => "Article numéro ".$article['id'], 'article' => $article ); $this->set($d); $this->render('view'); // On rend la vue à view.php [/PHP][CENTER] Voici la suite de la fonction, on charge le model, on appelle une [B][color=#e62525]fon[/color][color=#e32626]cti[/color][color=#e02727]on q[/color][color=#dd2828]ui r[/color][color=#da2a2a]écu[/color][color=#d72b2b]pèr[/color][color=#d42c2c]e le[/color][color=#d12d2d]s inf[/color][color=#ce2e2e]orm[/color][color=#cb3030]ati[/color][color=#c83131]ons [/color][color=#c53232]de l[/color][color=#c23333]'ar[/color][color=#bf3434]tic[/color][color=#bc3535]le[/color][/B] en lui donnant l'ID qui passe dans l'URL, puis je rends la vue à un fichier [B][color=#e62525]V[/color][color=#e12727]i[/color][color=#db2929]e[/color][color=#d62b2b]w[/color][color=#d02e2e].[/color][color=#cb3030]p[/color][color=#c53232]h[/color][color=#c03434]p[/color][/B]. Pour finir il faut dans notre vue [B][color=#e62525]a[/color][color=#e12727]f[/color][color=#db2929]f[/color][color=#d62b2b]i[/color][color=#d02e2e]c[/color][color=#cb3030]h[/color][color=#c53232]e[/color][color=#c03434]r[/color][/B] les informations de l'article, voici le [B][color=#e62525]c[/color][color=#db2929]o[/color][color=#d02e2e]d[/color][color=#c53232]e[/color] [COLOR=#bc3535][FA]fa fa-terminal[/FA][/COLOR][/B] de ma page view.php. [/CENTER] [CODE] <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title><?= $var['titre']; ?></title> <meta name="description" content="<?= $var['description']; ?>"> </head> <body> <h3>Article numéro <?= $var['article']['id']; ?> - <?= $var['article']['titre']; ?></h3> <p><?= $var['article']['contenu'] ?></p> </body> </html> [/CODE][CENTER] Un [B][color=#e62525]f[/color][color=#dd2828]e[/color][color=#d42c2c]t[/color][color=#cc2f2f]c[/color][color=#c33333]h[/color][/B] nous rend un [B][color=#e62525]t[/color][color=#e02727]a[/color][color=#d92a2a]b[/color][color=#d32c2c]l[/color][color=#cd2f2f]e[/color][color=#c73131]a[/color][color=#c03434]u[/color][/B] qui contient ce qu'il a récupèré, rappelez-vous que dans notre [B][color=#e62525]m[/color][color=#dd2828]o[/color][color=#d42c2c]d[/color][color=#cc2f2f]e[/color][color=#c33333]l[/color][/B] nous en avons fait un, d'où le fait qu'il faille mettre [B][color=#e62525]$v[/color][color=#e22626]ar[/color][color=#df2828]['[/color][color=#db2929]ar[/color][color=#d72b2b]ti[/color][color=#d42c2c]cl[/color][color=#d02e2e]e'[/color][color=#cc2f2f]][[/color][color=#c93030]'t[/color][color=#c53232]it[/color][color=#c13333]re[/color][color=#be3535]'][/color][/B] par exemple pour récupèrer le titre de l'article. Encore une fois c'est du [B][color=#e62525]P[/color][color=#e22727]H[/color][color=#dd2828]P [/color][color=#d92a2a]b[/color][color=#d42c2c]a[/color][color=#d02e2e]s[/color][color=#cc2f2f]i[/color][color=#c73131]q[/color][color=#c33333]u[/color][color=#be3434]e[/color][/B], pas besoin de détailler ça. Voilà ce que j'ai sur mon navigateur : [url=https://i.gyazo.com/bfa8a09ff4254673024fe2e6b0b29ca3.gif][color=#e62525]http[/color][color=#e32626]s://[/color][color=#e02727]i.g[/color][color=#dd2828]yazo[/color][color=#da2a2a].com[/color][color=#d72b2b]/bfa[/color][color=#d42c2c]8a09[/color][color=#d12d2d]ff4[/color][color=#ce2e2e]2546[/color][color=#cb2f2f]7302[/color][color=#c83131]4fe2[/color][color=#c53232]e6b0[/color][color=#c23333]b29c[/color][color=#bf3434]a3.[/color][color=#bc3535]gif[/color][/url] Après c'est à vous de [B][color=#e62525]g[/color][color=#e32626]é[/color][color=#df2828]r[/color][color=#dc2929]e[/color][color=#d82a2a]r [/color][color=#d52c2c]l[/color][color=#d22d2d]e [/color][color=#ce2e2e]d[/color][color=#cb2f2f]e[/color][color=#c83131]s[/color][color=#c43232]i[/color][color=#c13333]g[/color][color=#bd3535]n[/color][/B] et d'ajouter des [B][color=#e62525]fo[/color][color=#e32626]nc[/color][color=#e02727]ti[/color][color=#dd2828]on[/color][color=#da2a2a]na[/color][color=#d72b2b]li[/color][color=#d42c2c]té[/color][color=#d12d2d]s su[/color][color=#cd2f2f]pp[/color][color=#ca3030]lé[/color][color=#c73131]me[/color][color=#c43232]nt[/color][color=#c13333]ai[/color][color=#be3434]re[/color][color=#bb3535]s[/color][/B]. Grâce à l'architecture MVC vous n'aurez plus besoin de [B][color=#e62525]r[/color][color=#e32626]ép[/color][color=#de2828]e[/color][color=#db2929]t[/color][color=#d82a2a]er [/color][color=#d32c2c]v[/color][color=#d02e2e]o[/color][color=#cd2f2f]tr[/color][color=#c83131]e [/color][color=#c53232]c[/color][color=#c23333]od[/color][color=#bd3535]e[/color][/B], de faire 150 lignes pour inscrire un membre, c'est un des [B][color=#e62525]a[/color][color=#e12727]v[/color][color=#dc2929]a[/color][color=#d72b2b]n[/color][color=#d22d2d]t[/color][color=#ce2e2e]a[/color][color=#c93030]g[/color][color=#c43232]e[/color][color=#bf3434]s[/color][/B] que l'architecture MVC vous offre. Le tutoriel touche à sa fin, vous devriez désormais [B][color=#e62525]m[/color][color=#e12727]a[/color][color=#dc2929]î[/color][color=#d72b2b]t[/color][color=#d22d2d]r[/color][color=#ce2e2e]i[/color][color=#c93030]s[/color][color=#c43232]e[/color][color=#bf3434]r[/color][/B] ces points-ci : [/CENTER][LIST] [*] Faire une [B][color=#e62525]r[/color][color=#dd2828]o[/color][color=#d42c2c]u[/color][color=#cc2f2f]t[/color][color=#c33333]e[/color][/B] [*] Gérer les [B][color=#e62525]f[/color][color=#e12727]i[/color][color=#db2929]c[/color][color=#d62b2b]h[/color][color=#d02e2e]i[/color][color=#cb3030]e[/color][color=#c53232]r[/color][color=#c03434]s[/color][/B] d'un MVC [*] Intéragir avec la [B][color=#e62525]b[/color][color=#e22626]a[/color][color=#df2828]s[/color][color=#db2929]e [/color][color=#d72b2b]d[/color][color=#d42c2c]e [/color][color=#d02e2e]d[/color][color=#cc2f2f]o[/color][color=#c93030]n[/color][color=#c53232]n[/color][color=#c13333]é[/color][color=#be3535]e[/color][/B] [*] Faire passer des [B][color=#e62525]p[/color][color=#e22727]a[/color][color=#dd2828]r[/color][color=#d92a2a]a[/color][color=#d42c2c]m[/color][color=#d02e2e]è[/color][color=#cc2f2f]t[/color][color=#c73131]r[/color][color=#c33333]e[/color][color=#be3434]s[/color][/B] dans l'URL [/LIST][CENTER] Si vous avez une [B][color=#e62525]r[/color][color=#e12727]e[/color][color=#db2929]m[/color][color=#d62b2b]a[/color][color=#d02e2e]r[/color][color=#cb3030]q[/color][color=#c53232]u[/color][color=#c03434]e[/color][/B] ou une [B][color=#e62525]q[/color][color=#e12727]u[/color][color=#db2929]e[/color][color=#d62b2b]s[/color][color=#d02e2e]t[/color][color=#cb3030]i[/color][color=#c53232]o[/color][color=#c03434]n[/color][/B], n'hésitez pas à m'envoyer un [B][color=#e62525]m[/color][color=#e22626]e[/color][color=#df2828]s[/color][color=#db2929]s[/color][color=#d72b2b]a[/color][color=#d42c2c]g[/color][color=#d02e2e]e [/color][color=#cc2f2f]p[/color][color=#c93030]r[/color][color=#c53232]i[/color][color=#c13333]v[/color][color=#be3535]é[/color][/B] ! :tchuss: [/CENTER][/FONT] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Développement
Développez vos sites en utilisant une architecture MVC
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut