⊗ppMVDFmRrIm 27 of 35 menu

Marsruuteri realiseerimine oma MVC raamistikus

Kirjutame nüüd klassi Router mustri vastavalt meie väljakutsetele:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // siin on kood } } ?>

Meetodis getTrack peame määratlema, milline marsruutidest vastab antud $uri-le. Selleks peame läbi käima oma massiivi marsruutidega tsükliga:

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

Kui mõni marsruut vastab URI-le, me peame saama sellest URI-st parameetrite väärtused ja tagastama klassi Track objekti:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (marsruudi ja URI vastavuse kontroll) { $params = ; // vaja saada parameetrid uri-st return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // kui ükski marsruut ei sobi } } ?>

Kopeerige minu klassi Router mustrit ja asetage see faili /core/Router.php.

Realiseerige kirjeldatud klass Router, mille tulemusena tagastatakse klassi Track objekt. Kui te tekitate raskusi (mis on üsna tõenäoline), vaadake lähtekoodi raamistikust, mida te kasutasite MVC kasutamise õppimiseks. Sealt leiate klassis Router puuduva realisatsiooni osa ja minu kommentaarid selle kohta.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu