⊗ppMVDFmRrIm 27 of 35 menu

Implementering av ruter i sitt eget MVC-rammeverk

La oss nå skrive skjelettet for klassen Router i henhold til våre kall:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // koden vil være her } } ?>

I metoden getTrack må vi avgjøre hvilken av rutene som tilsvarer denne $uri. For å gjøre dette må vi gå gjennom arrayet vårt med ruter med en løkke:

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

Hvis en rute tilsvarer URI, må vi hente verdiene til rutens parametere fra denne URI-en og returnere et objekt av klassen Track:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (sjekk av samsvar mellom rute og URI) { $params = ; // må hente parametere fra uri return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // hvis ingen ruter passer } } ?>

Kopier mitt skjelett for klassen Router og plasser den i filen /core/Router.php.

Implementer den beskrevne klassen Router, som returnerer et objekt av klassen Track som sitt resultat. Hvis du opplever vanskeligheter (noe som er svært sannsynlig), kan du se i kildekoden til rammeverket du studerte bruken av MVC fra. Der i klassen Router finner du den manglende delen av implementeringen og mine kommentarer til den.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis