⊗ppMVDFmRrIm 27 of 35 menu

Implementering av en router i ett eget MVC-ramverk

Låt oss nu skriva en grund för klassen Router i enlighet med våra anrop:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // kod kommer att vara här } } ?>

I metoden getTrack måste vi avgöra vilken av routerna som motsvarar denna $uri. För att göra detta måste vi gå igenom vår array med router med en loop:

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

Om någon rutt motsvarar URI:n, vi måste få värdena för rutparametrarna från denna URI och returnera ett objekt av klassen Track:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (kontroll av överensstämmelse mellan rutt och URI) { $params = ; // behöver få parametrar från uri return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // om ingen rutt passar } } ?>

Kopiera min grund för klassen Router och placera den i filen /core/Router.php.

Implementera den beskrivna klassen Router, som returnerar ett objekt av klassen Track som sitt resultat. Om du upplever svårigheter (vilket är mycket troligt), titta i källkoden för ramverket du studerade användningen av MVC. Där i klassen Router hittar du den saknade delen av implementeringen och mina kommentarer till den.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa