⊗ppMVDFmRr 25 of 35 menu

Tworzenie routera we własnym frameworku MVC

Teraz musisz opracować router. Reprezentuje on klasę, która będzie pobierać tablicę tras, pobierać żądany URL, i określać, która z tras odpowiada danemu URL. Po znalezieniu odpowiedniej trasy nasza klasa powinna uzyskać części URL, odpowiadające parametrom trasy.

Niech nasz router zwraca jako wynik obiekt klasy Track, zawierający nazwę kontrolera, który ma zostać wywołany dla danego żądania, nazwę akcji oraz parametry z URL.

Niech nasza klasa Track ma właściwości controller, action i params, dostępne tylko do odczytu:

<?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; } } ?>

Przykład

Dla przykładu, załóżmy, że w pasku adresu wpisano /test/1/2/. Załóżmy, że mamy trasę, odpowiadającą temu adresowi:

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

Oznacza to, że nazwa kontrolera będzie test, nazwa akcji - index, a tablica parametrów będzie następująca:

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

Cel tej lekcji - napisać klasę Router, zwracającą obiekt klasy Track. Reszta nas na razie nie dotyczy. Zabierzmy się za pisanie tej klasy.

Zadania praktyczne

Skopiuj kod mojej klasy Track i umieść go w pliku /core/Track.php.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć