⊗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 ҷойгир кунед.

Синфи тавсифшудаи Router-ро амалӣ кунед, ки натиҷаи худ объекти синфи Track-ро бармегардонад. Агар ба мушкилот дучор шавед (ки эҳтимол аст), ба коди ибтидоии фреймворки он чизе ки шумо истифодаи 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çeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан