⊗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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել