Рад са рутама у сопственом MVC оквиру
Већ знате да се у фајлу /project/config/routes.php
постављају руте, које указују на кореспонденцију
између URL-а и контролера са акцијама. Руте
представљају објекте класе Route.
Хајде да направимо ову класу у фајлу
/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;
}
}
?>
Као што видите, у овој класи својства су намењена само за читање, што се постиже употребом магијских метода.
Погледајте сада у фајл са рутама. Можете
видети да се тамо налази низ, који
се враћа преко return. То значи,
да ако се такав фајл укључи преко require,
онда се резултат укључења може записати у
променљиву и у тој променљивој ће се наћи наш
низ:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// ваша имплементација аутоматског учитавања
});
// Прочитамо низ из фајла са рутама у променљиву:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Копирајте код моје класе Route
и поставите га у фајлу
/core/Route.php.
Добавите низ са рутама у фајлу index.php.