Uundaji wa Router katika Mfumo wa MVC Wako
Sasa unahitaji kuunda router. Inawakilisha darasa ambalo litachukua safu ya njia, kuchukua URL iliyoombwa, na kuamua ni njia gani inafanana na URL husika. Baada ya kupata njia inayofanana darasa letu linapaswa kupata sehemu za URL, zinazolingana na vigezo vya njia.
Licha ya matokeo yake, router yetu irudishe
kitu cha darasa Track, chenye jina la
kontrola ambayo inapaswa kutumiwa kwa
ombi hili, jina la kitendo na vigezo kutoka URL.
Licha darasa letu Track liwe na sifa
controller, action na params,
zinazopatikana kwa usomaji pekee:
<?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;
}
}
?>
Mfano
Kwa mfano, licha kwenye barua anwani imeingizwa
/test/1/2/. Licha tuwe na njia,
inayofanana na anwani hii:
<?php
new Route('/test/:var1/:var2/', 'test', 'index');
?>
Hii inamaanisha kuwa jina la kontrola litakuwa test,
jina la kitendo - index, na safu ya vigezo
itakuwa ifuatayo:
<?php
['var1' => 1, 'var2' => 2]
?>
Lengo la somo hili - kuandika darasa Router,
linalorudisha kitu cha darasa Track.
Yaliyobaki hayatuhusu kwa sasa. Wacha tuanze
kuandika darasa hili.
Kazi Za Vitendo
Nakili msimbo wa darasa langu Track
na uiweke kwenye faili
/core/Track.php.