⊗ppMVDFmRt 24 of 35 menu

Travailler avec les routes dans son propre framework MVC

Vous savez déjà que dans le fichier /project/config/routes.php sont placées les routes, indiquant les correspondances entre l'URL et les contrôleurs avec les actions. Les routes sont des objets de la classe Route. Créons cette classe dans le fichier /core/Route.php :

<?php namespace Core; class Route { private $path; private $controller; private $action; public function __construct($path, $controller, $action) { $this->path = $path; $this->controller = $controller; $this->action = $action; } public function __get($property) { return $this->$property; } } ?>

Comme vous le voyez, dans cette classe, les propriétés sont destinées uniquement à la lecture, ce qui est réalisé en utilisant la magie.

Jetez maintenant un œil dans le fichier avec les routes. Vous pouvez voir qu'il s'y trouve un tableau qui est retourné via return. Cela signifie que si on inclut un tel fichier via require, le résultat de l'inclusion peut être enregistré dans une variable et cette variable contiendra notre tableau :

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // votre implémentation de l'autoload }); // Nous lisons le tableau du fichier avec les routes dans la variable : $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; ?>

Copiez le code de ma classe Route et placez-le dans le fichier /core/Route.php.

Obtenez le tableau avec les routes dans le fichier index.php.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser