Rad sa rutama u sopstvenom MVC frejmvorku
Već znate da se u fajlu /project/config/routes.php
nalaze rute koje ukazuju na podudarnost
između URL-a i kontrolera sa akcijama. Rute
su objekti klase Route.
Hajde da napravimo ovu klasu u fajlu
/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;
}
}
?>
Kao što vidite, u ovoj klasi svojstva su namenjena samo za čitanje, što se postiže korišćenjem magije.
Pogledajte sada u fajl sa rutama. Možete
videti da se tu nalazi niz koji
se vraća preko return.
To znači da ako se ovakav fajl uključi preko require,
onda se rezultat uključivanja može upisati u
promenljivu i u toj promenljivoj će se naći naš
niz:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// vaša implementacija autoučitavanja
});
// Učitavamo niz iz fajla sa rutama u promenljivu:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Kopirajte kod moje klase Route
i postavite ga u fajl
/core/Route.php.
Dobijte niz sa rutama u fajlu index.php.