⊗ppMVDFmRr 25 of 35 menu

Өз MVC фреймворкуңузда router иштеп чыгуу

Эми сизге роутер иштеп чыгуу керек. Ал классты түзөт, ал маршруттардын массивин алып, суралган URL'ди алып, кандай маршрут бул URL'ге дал келерин аныктайт. Туура маршрут табылгандан кийин, биздин класс маршруттун параметрлерине дал келген URL'дин бөлүктөрүн алууга тийиш.

Биздин роутер өз натыйжасы катары Track классынын объектин кайтарсын, ал бул суроо үчүн чейрилүүсү керек болгон контроллердин атын, амалдын атын жана URL'ден параметрлерди камтысын.

Биздин Track класстын касиеттери controller, action жана params болсун, алар гана окуу үчүн жеткиликтүү:

<?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; } } ?>

Мисал

Мисал катары, адресттик жолго /test/1/2/ киргизилди дейли. Бизде бул адреске дал келген маршрут бар деп коёлу:

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

Бул контроллердин аты test болот дегенди билдирет, амалдын аты - index, ал эми параметрлердин массиви төмөнкүдөй болот:

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

Бул сабактын максаты - Track класстын объектин кайтаруучу Router классты жазуу. Калгандары бизди азыр кызыктырбайт. Келгиле, бул классты жазуду баштайлы.

Практикалык тапшырмалар

Менин Track класстын кодун көчүрүп, аны /core/Track.php файлына жайгаштырыңыз.

Кыргызча
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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу