Praca z trasami we własnym frameworku MVC
Wiesz już, że w pliku /project/config/routes.php
znajdują się trasy wskazujące odpowiedniości
pomiędzy URL a kontrolerami z akcjami. Trasy
przedstawiają obiekty klasy Route.
Stwórzmy tę klasę w pliku
/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;
}
}
?>
Jak widzisz, w tej klasie właściwości są przeznaczone tylko do odczytu, co osiąga się za pomocą magii.
Zajrzyj teraz do pliku z trasami. Możesz
zobaczyć, że znajduje się tam tablica, która
jest zwracana przez return.
Oznacza to, że jeśli podłączysz taki plik przez require,
to wynik podłączenia można zapisać w
zmiennej i w tej zmiennej znajdzie się nasza
tablica:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// twoja implementacja autoloadingu
});
// Odczytujemy tablicę z pliku z trasami do zmiennej:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Skopiuj kod mojej klasy Route
i umieść go w pliku
/core/Route.php.
Pobierz tablicę z trasami w pliku index.php.