Útvonalak kezelése saját MVC keretrendszerben
Már tudod, hogy a /project/config/routes.php fájlban
helyezkednek el az útvonalak, amelyek az URL-ek és a vezérlők
és műveletek közötti megfeleléseket határozzák meg. Az útvonalak
a Route osztály objektumai.
Készítsük el ezt az osztályt a
/core/Route.php fájlban:
<?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;
}
}
?>
Amint látod, ebben az osztályban a tulajdonságok csak olvashatók, amit varázslat alkalmazásával érünk el.
Most nézz bele az útvonalak fájljába. Láthatod,
hogy van egy tömb, amelyet a return ad vissza.
Ez azt jelenti, hogy ha egy ilyen fájlt a require
utasítással include-olunk, akkor a behívás eredménye
elmenthető egy változóba, és ebben a változóban lesz a mi
tömbünk:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// az automatikus betöltés implementációja
});
// Beolvassuk az útvonalak tömbjét a fájlból egy változóba:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Másold a Route osztály kódomat
és helyezd el a /core/Route.php fájlban.
Szerezd meg az útvonalak tömbjét a index.php fájlban.