⊗ppMVDFmRr 25 of 35 menu

Utvikling av en router i ditt eget MVC-rammeverk

Nå må du utvikle en router. Den representerer en klasse som vil ta en array med ruter, ta den forespurte URL-en, og avgjøre hvilken av rutene som tilsvarer denne URL-en. Etter å ha funnet den tilsvarende ruten, må klassen vår hente deler av URL-en som tilsvarer rutens parametere.

La vår router returnere et objekt av klassen Track som resultat, som inneholder navnet på kontrolleren som skal kalles for denne forespørselen, navnet på handlingen og parametere fra URL-en.

La klassen vår Track ha egenskapene controller, action og params, som kun er lesbare:

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

Eksempel

La oss som eksempel si at adresselinjen har /test/1/2/. La oss si at vi har en rute, som tilsvarer denne adressen:

<?php new Route('/test/:var1/:var2/', 'test', 'index'); ?>

Dette betyr at kontrollerens navn vil være test, handlingens navn - index, og parameter-arrayen vil være som følger:

<?php ['var1' => 1, 'var2' => 2] ?>

Målet med denne leksjonen er å skrive klassen Router, som returnerer et objekt av klassen Track. Resten angår oss ikke foreløpig. La oss begynne å skrive denne klassen.

Praktiske oppgaver

Kopier koden til min klasse Track og plasser den i filen /core/Track.php.

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