Роутҳо дар фреймворки 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 ба даст оред.