⊗ppMVDFmRr 25 of 35 menu

Zhvillimi i router-it në MVC framework-un tuaj

Tani ju duhet të zhvilloni një router. Ai paraqet një klasë e cila do të marrë array-in e rrugëve, marrë URL-në e kërkuar, dhe të përcaktojë se cila prej rrugëve korrespondon me këtë url. Pas gjetjes së rrugës përkatëse klasa jonë duhet të marrë pjesët e URL-së, që korrespondojnë me parametrat e rrugës.

Le të kthejë si rezultat router-i ynë një objekt të klasës Track, që përmban emrin e kontrollerit i cili duhet të thirret për këtë kërkesë, emrin e veprimit dhe parametrat nga URL-ja.

Le të ketë klasa jonë Track vetitë controller, action dhe params, të disponueshme vetëm për lexim:

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

Shembull

Për shembull, le të themi se në shiritin e adresave është shënuar /test/1/2/. Le të themi se kemi një rrugë, që i përgjigjet kësaj adrese:

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

Kjo do të thotë se emri i kontrollerit do të jetë test, emri i veprimit - index, ndërsa array-i i parametrave do të jetë si më poshtë:

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

Qëllimi i këtij mësimi është të shkruhet klasa Router, që kthen një objekt të klasës Track. Pjesa tjetër nuk na prek akoma. Le të fillojmë shkrimin e kësaj klase.

Detyra praktike

Kopjoni kodin e klasës time Track dhe vendoseni atë në skedarin /core/Track.php.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo