⊗ppMVDFmRrIm 27 of 35 menu

Reitittimen toteutus omassa MVC-kehyksessä

Kirjoitetaan nyt luokan Router luonnos vastaamaan käyttämämme kutsut:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // tähän tulee koodi } } ?>

Metodissa getTrack meidän on määritettävä, mikä reiteistä vastaa annettua $uri:a. Tätä varten meidän on käytävä läpi reittitaulukkomme silmukalla:

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

Jos jokin reitti vastaa URI:ta, meidän tulee saada tästä URI:sta reitin parametrien arvot ja palauttaa luokan Track olio:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (reitin ja URI:n vastaavuuden tarkistus) { $params = ; // parametrit on saatava uri:sta return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // jos mikään reitti ei sovi } } ?>

Kopioi luokan Router luonnos ja sijoita se tiedostoon /core/Router.php.

Toteuta kuvattu luokka Router, joka palauttaa tuloksenaan luokan Track olion. Jos kohtaat vaikeuksia (mikä on hyvin todennäköistä), katso lähdekoodia MVC-kehyksestä, jota opit käyttämään. Sieltä löydät luokasta Router puuttuvan osan toteutuksesta ja kommenttini siihen.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää