⊗ppMVDFmRrIm 27 of 35 menu

Ўз MVC фреймворкингизда роутерни амалга ошириш

Ҳозир бизнинг чақириўларимизга мувофик Router классининг заготовкасини язайлик:

<?php namespace Core; class Router { private $routes; public function getTrack($routes, $uri) { // бу ерда код бўлади } } ?>

getTrack методада биз қайси роут берилган $uri га мос келишини аниқлашимиз керак. Бунинг учун биз роутлар массивини цикл билан айланишимиз керак:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { // $uri ва $route-ни текшириш } } } ?>

Агар бирор роут URI га мос келса, биз ўша URI дан роут параметрларининг қийматларини олишимиз ва Track класси объектини қайтаришимиз керак:

<?php namespace Core; class Router { public function getTrack($routes, $uri) { foreach ($routes as $route) { if (роут ва URI-нинг мослигини текшириш) { $params = ; // uri дан параметрларни олиш керак return new Track($route->controller, $route->action, $params); } } return new Track('error', 'notFound'); // агар бирор роут мос келмаса } } ?>

Router классимнинг заготовкасини нусхаланг ва уни /core/Router.php файлига жойланг.

Track класси объектини қайтарувчи Router классини амалга оширинг. Агар қийинчиликка йўлиқсангиз (эҳтимоли жуда юкори), MVC дан фойдаланишни ўрганган фреймворкингизнинг боşланғич кодига қаранг. У ерда Router классида амалга оширишнинг етишмайётган қисми ва унинг изоҳларини топа оласиз.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш