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