Bekerja dengan Rute di Framework MVC Sendiri
Anda sudah tahu bahwa di file /project/config/routes.php
terdapat rute-rute yang menunjukkan korespondensi
antara URL dan controller dengan tindakan. Rute-rute
tersebut merupakan objek dari kelas Route.
Mari kita buat kelas ini di file
/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, di kelas ini properti-properti ditujukan hanya untuk dibaca, yang dicapai dengan menggunakan magic method.
Sekarang lihatlah file dengan rute-rute. Anda dapat
melihat bahwa di sana terdapat array yang
dikembalikan melalui return. Ini berarti,
jika file seperti itu disertakan melalui require,
maka hasil penyertaan dapat dicatat dalam
variabel dan dalam variabel tersebut akan terdapat
array kita:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// implementasi autoloading Anda
});
// Membaca array dari file dengan rute-rute ke dalam variabel:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Salin kode kelas Route saya
dan tempatkan di file
/core/Route.php.
Dapatkan array dengan rute-rute di file index.php.