⊗ppMVDFmRrIm 27 of 35 menu

Implementatie van een router in je eigen MVC-framework

Laten we nu een schets maken van de klasse Router volgens onze aanroepen:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // hier komt de code } } ?>

In de methode getTrack moeten we bepalen welke van de routes overeenkomt met de gegeven $uri. Hiervoor moeten we onze array met routes doorlopen met een loop:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { // controle van $uri en $route } } } ?>

Als een route overeenkomt met de URI, moeten we de waarden van de routeparameters uit deze URI halen en een object van de klasse Track teruggeven:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (controle van overeenkomst route en URI) { $params = ; // parameters moeten uit uri worden gehaald return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // als geen enkele route past } } ?>

Kopieer mijn schets van de klasse Router en plaats deze in het bestand /core/Router.php.

Implementeer de beschreven klasse Router, die als resultaat een object van de klasse Track teruggeeft. Als je problemen ondervindt (wat zeer waarschijnlijk is), kijk dan in de broncode van het framework waarmee je het gebruik van MVC hebt bestudeerd. Daar vind je in de klasse Router het ontbrekende deel van de implementatie en mijn commentaar daarop.

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