Uchakataji wa Routes katika Mfumo wako wa MVC
Tayari unajua kuwa katika faili /project/config/routes.php
kuna routes zinazoonyesha mawasiliano
kati ya URL na controllers pamoja na vitendo. Routes
zinawakilisha vitu vya darasa Route.
Hebu tutengeneze darasa hili kwenye faili
/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;
}
}
?>
Kama unavyoona, katika darasa hili sifa zimeundwa kwa kusomwa pekee, jambo linalopatikana kwa kutumia mazingombombi.
Sasa angalia kwenye faili lenye routes. Unaweza
kuona kuwa kuna safu (array) ambayo
inarejeshwa kupitia return.
Hii inamaanisha kuwa ikiwa faili kama hii
italetwa kupitia require,
basi matokeo ya kuileta yanaweza kuhifadhiwa kwenye
kigezo na katika kigezo hicho kutakuwapo safu yetu:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// utekelezaji wako wa upakiaji otomatiki
});
// Inasoma safu kutoka kwa faili lenye routes na kuiweka kwenye kigezo:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Nakili msimbo wa darasa langu Route
na uiweke kwenye faili
/core/Route.php.
Pata safu ya routes kwenye faili index.php.