⊗ppMVDFmRt 24 of 35 menu

Работа с маршрути в собствен MVC фреймуърк

Вече знаете, че във файла /project/config/routes.php се поставят маршрути, които посочват съответствия между URL и контролери с действия. Маршрутите представляват обекти от клас Route. Нека направим този клас във файла /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; } } ?>

Както виждате, в този клас свойствата са предназначени само за четене, което се постига чрез използването на магия.

Погледнете сега във файла с маршрути. Можете да видите, че там се намира масив, който се връща чрез return. Това означава, че ако се включи такъв файл чрез require, резултатът от включването може да се запише в променлива и в тази променлива ще се окаже нашият масив:

<?php namespace Core; error_reporting(E_ALL); ini_set('display_errors', 'on'); spl_autoload_register(function($class) { // вашата реализация на автозареждане }); // Прочитаме масива от файла с маршрути в променлива: $routes = require $_SERVER['DOCUMENT_ROOT'] . '/project/config/routes.php'; ?>

Копирайте кода на моя клас Route и го поставете във файла /core/Route.php.

Вземете масива с маршрути във файла index.php.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне