Oz MVC Framework-da Routlarla Is
Artıq bilirsiniz ki, /project/config/routes.php faylında
URL ile kontrollerler ve aksiyalar arasında uygunluq gosteren
routlar yerlesir. Routlar
Route sinfinin obyektleri kimi temsil olunur.
Gelin bu sinfi /core/Route.php faylında yaradaq:
<?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;
}
}
?>
Gördüyünüz kimi, bu sinifde xasseler yalnız oxumaq üçün nəzərdə tutulub, bu da magiyadan istifadə etməklə əldə olunur.
İndi routlar olan fayla nəzər yetirin. Siz
görə bilərsiniz ki, orada return vasitəsilə
qaytarılan massiv var. Bu o deməkdir ki,
belə bir faylı require vasitəsilə qoşsanız,
qoşulmanın nəticəsini dəyişəndə yazmaq olar
və bu dəyişəndə bizim massivimiz olacaq:
<?php
namespace Core;
error_reporting(E_ALL);
ini_set('display_errors', 'on');
spl_autoload_register(function($class) {
// sizin avtoyukleme realizasiyaniz
});
// Rout faylından massivi oxuyuruq deyişene:
$routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php';
?>
Route sinfinin kodunu kopyalayın
və onu /core/Route.php faylında yerlesdirin.
index.php faylında routlarla massivi alın.