Pengendalian Rute dalam Kerangka MVC Sendiri
Anda telah tahu bahawa dalam fail /project/config/routes.php
terdapat rute yang menunjukkan padanan
antara URL dan pengawal dengan tindakan. Rute
adalah objek kelas Route.
Mari kita buat kelas ini dalam fail
/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;
}
}
?>
Seperti yang anda lihat, dalam kelas ini sifat-sifatnya bertujuan hanya untuk dibaca, yang dicapai dengan menggunakan keajaiban (*magic*).
Sekarang lihat fail dengan rute. Anda boleh
melihat bahawa di sana terdapat array, yang
dikembalikan melalui return. Ini bermakna,
bahawa jika menyambungkan fail sedemikian melalui require,
maka hasil sambungan boleh ditulis ke dalam
pembolehubah dan dalam pembolehubah ini akan terdapat
array kami:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// pelaksanaan autoload anda
});
// Membaca array dari fail dengan rute ke dalam pembolehubah:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Salin kod kelas Route saya
dan letakkannya dalam fail
/core/Route.php.
Dapatkan array dengan rute dalam fail index.php.