⊗ppMVDFmRrIm 27 of 35 menu

Implementace routeru ve vlastním MVC frameworku

Nyní si připravme kostru třídy Router v souladu s našimi požadavky:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // zde bude kód } } ?>

V metodě getTrack musíme určit, která z tras odpovídá danému $uri. K tomu je potřeba projít naše pole s trasami cyklem:

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

Pokud nějaká trasa odpovídá URI, měli bychom z tohoto URI získat hodnoty parametrů trasy a vrátit objekt třídy Track:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (kontrola shody trasy a URI) { $params = ; // je potřeba získat parametry z uri return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // pokud žádná trasa nesedí } } ?>

Zkopírujte mou kostru třídy Router a umístěte ji do souboru /core/Router.php.

Implementujte popsanou třídu Router, která vrací objekt třídy Track. Pokud narazíte na potíže (což je velmi pravděpodobné), podívejte se do zdrojového kódu frameworku, podle kterého jste se učili používat MVC. Tam ve třídě Router najdete chybějící část implementace a mé komentáře k ní.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout