Reittien käsittely omassa MVC-kehyksessä
Tiedät jo, että tiedostossa /project/config/routes.php
sijaitsee reitit, jotka osoittavat vastaavuudet
URL-osoitteiden ja ohjainten sekä toimintojen välillä. Reitit
edustavat luokan Route olioita.
Tehdään tämä luokka tiedostoon
/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;
}
}
?>
Kuten näet, tämän luokan ominaisuudet on tarkoitettu vain luettaviksi, mikä saavutetaan taikaneliöiden käytöllä.
Kurkista nyt tiedostoon, jossa on reitit. Voit
nähdä, että siellä on taulukko, joka
palautetaan return-komennolla. Tämä tarkoittaa,
että jos liität tällaisen tiedoston require-komennolla,
liittämisen tuloksen voi tallentaa
muuttujaan, ja tässä muuttujassa on meidän
taulukkomme:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// sinun automaattisen latauksen toteutus
});
// Luemme reittitaulukon tiedostosta muuttujaan:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Kopioi minun luokkani Route koodi
ja sijoita se tiedostoon
/core/Route.php.
Hanki taulukko reiteistä tiedostossa index.php.