⊗ppMVDFmRr 25 of 35 menu

Vývoj routeru ve vlastním MVC frameworku

Nyní potřebujete vyvinout router. Představuje třídu, která bude brát pole rout, brat požadovanou URL a určovat, která z rout odpovídá dané URL. Po nalezení odpovídající routy musí naše třída získat části URL, odpovídající parametrům routy.

Nechť náš router vrací jako výsledek objekt třídy Track, obsahující název kontroleru, který má být zavolán pro tento požadavek, název akce a parametry z URL.

Nechť naše třída Track má vlastnosti controller, action a params, přístupné pouze pro čtení:

<?php namespace Core; class Track { private $controller; private $action; private $params; public function __construct($controller, $action, $params) { $this->controller = $controller; $this->action = $action; $this->params = $params; } public function __get($property) { return $this->$property; } } ?>

Příklad

Jako příklad předpokládejme, že je v adresním řádku zadáno /test/1/2/. Předpokládejme, že máme routu, odpovídající této adrese:

<?php new Route('/test/:var1/:var2/', 'test', 'index'); ?>

To znamená, že název kontroleru bude test, název akce - index, a pole parametrů bude následující:

<?php ['var1' => 1, 'var2' => 2] ?>

Cílem této lekce je napsat třídu Router, vracející objekt třídy Track. Zbytek se nás zatím netýká. Pojďme se pustit do psaní této třídy.

Praktické úkoly

Zkopírujte kód mé třídy Track a umístěte jej do souboru /core/Track.php.

Č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