Maršrutizatora izstrāde savā MVC ietvarā
Tagad jums ir jāizstrādā maršrutizators. Tas ir klase, kas paņems maršrutu masīvu, paņems pieprasīto URL, un noteiks, kurš no maršrutiem atbilst šim URL. Pēc atbilstošā maršruta atrašanas mūsu klasei ir jāiegūst URL daļas, kas atbilst maršruta parametriem.
Lai mūsu maršrutizators atgriež
Track klases objektu,
saturēšanu kontroliera nosaukumu,
kuram jābūt izsauktam uz
doto pieprasījumu, darbības nosaukumu un parametrus no URL.
Lai mūsu Track klasei ir īpašības
controller, action un params,
pieejamas tikai lasīšanai:
<?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;
}
}
?>
Piemērs
Piemēram, pieņemsim, ka adreses joslā ierakstīts
/test/1/2/. Pieņemsim, ka mums ir maršruts,
kas atbilst šai adresei:
<?php
new Route('/test/:var1/:var2/', 'test', 'index');
?>
Tas nozīmē, ka kontroliera nosaukums būs test,
darbības nosaukums - index, un parametru masīvs
būs šāds:
<?php
['var1' => 1, 'var2' => 2]
?>
Šīs nodarbības mērķis - uzrakstīt Router klasi,
kas atgriež Track klases objektu.
Pārējais mūs pagaidām neskar. Sāksim rakstīt
šo klasi.
Praktiskie uzdevumi
Nokopējiet manas Track klases kodu
un ievietojiet to failā
/core/Track.php.