⊗ppMVDFmRt 24 of 35 menu

Werken met routes in je eigen MVC-framework

Je weet al dat in het bestand /project/config/routes.php routes staan die de overeenkomsten aangeven tussen URL's en controllers met acties. Routes zijn objecten van de klasse Route. Laten we deze klasse maken in het bestand /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; } } ?>

Zoals je ziet, zijn de eigenschappen in deze klasse alleen bedoeld voor lezen, wat bereikt wordt door gebruik van magie.

Bekijk nu het bestand met routes. Je kunt zien dat daar een array staat die teruggegeven wordt via return. Dit betekent dat als je zo'n bestand includeert via require, je het resultaat van de inclusie kunt opslaan in een variabele en in die variabele zal onze array staan:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // jouw implementatie van autoload }); // Lezen de array uit het bestand met routes in een variabele: $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; ?>

Kopieer de code van mijn klasse Route en plaats het in het bestand /core/Route.php.

Verkrijg de array met routes in het bestand index.php.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren