⊗ppMVDFmRrIm 27 of 35 menu

Имплементация на рутер в собствен MVC фреймуърк

Нека сега напишем скицата на класа Router в съответствие с нашите изисквания:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // тук ще има код } } ?>

В метода getTrack трябва да определим кой от маршрутите съответства на дадения $uri. За това трябва да преминем през масива с маршрути с цикъл:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { // проверка на $uri и $route } } } ?>

Ако някой маршрут съответства на URI, ние трябва да получим от този URI стойностите на параметрите на маршрута и да върнем обект от клас Track:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (проверка за съответствие на маршрут и URI) { $params = ; // трябва да се получат параметрите от uri return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // ако никой маршрут не съвпадне } } ?>

Копирайте моята скица на класа Router и я поставете във файла /core/Router.php.

Имплементирайте описания клас Router, който връща като резултат обект от клас Track. Ако срещнете затруднения (което е много вероятно), погледнете в изходния код на фреймуърка, по който изучавахте използването на MVC. Там в класа Router ще намерите липсващата част от имплементацията и моите коментари към нея.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне