Ontwikkeling van 'n roeteaanwyser in jou eie MVC-raamwerk
Nou moet jy 'n roeteaanwyser ontwikkel. Dit is 'n klas wat 'n roetelynskikkering sal neem, die versoekte URL sal neem, en sal bepaal watter roete ooreenstem met die gegewe url. Na die vind van die ooreenstemmende roete moet ons klas die dele van die URL kry, wat ooreenstem met die parameters van die roete.
Laat ons roeteaanwyser as sy resultaat
'n objek van die klas Track teruggee,
wat die naam van die
beheerder bevat wat op hierdie versoek geroep moet word,
die naam van die aksie en die parameters van die URL.
Laat ons klas Track eienskappe hê
controller, action en params,
slegs leesbaar:
<?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;
}
}
?>
Voorbeeld
As voorbeeld, laat in die adresbalk ingetik wees
/test/1/2/. Laat ons 'n roete hê,
wat ooreenstem met hierdie adres:
<?php
new Route('/test/:var1/:var2/', 'test', 'index');
?>
Dit beteken dat die beheerder se naam test sal wees,
die aksie se naam - index, en die parameterskikkering
sal soos volg wees:
<?php
['var1' => 1, 'var2' => 2]
?>
Die doel van hierdie les is om die klas Router te skryf,
wat 'n objek van die klas Track teruggee.
Die res raak ons nie tans nie. Kom ons begin
met die skryf van hierdie klas.
Praktiese take
Kopieer die kode van my klas Track
en plaas dit in die lêer
/core/Track.php.