Өз 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 файлында маршруттар массивін алыңыз.