Darbība ar maršrutiem savā MVC ietvarā
Jūs jau zināt, ka failā /project/config/routes.php
tiek ievietoti maršruti, kas norāda atbilstības
starp URL un kontrolieriem ar darbībām. Maršruti
ir Route klases objekti.
Izveidosim šo klasi failā
/core/Route.php:
<?php
namespace Core;
class Route
{
private $path;
private $controller;
private $action;
public function __construct($path, $controller, $action)
{
$this->path = $path;
$this->controller = $controller;
$this->action = $action;
}
public function __get($property)
{
return $this->$property;
}
}
?>
Kā jūs varat redzēt, šajā klasē īpašības ir paredzētas tikai lasīšanai, ko panāk, izmantojot magiskās metodes.
Ielūkojieties tagad failā ar maršrutiem. Jūs varat
redzēt, ka tur atrodas masīvs, kas
tiek atgriezts ar return.
Tas nozīmē, ka, ja pievienot šādu failu ar require,
tad pievienošanas rezultātu var ierakstīt
mainīgajā, un šajā mainīgajā būs mūsu
masīvs:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// jūsu automātiskās ielādes implementācija
});
// Nolasām masīvu no faila ar maršrutiem mainīgajā:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Nokopējiet mana klases Route kodu
un ievietojiet to failā
/core/Route.php.
Iegūstiet masīvu ar maršrutiem failā index.php.