dart_roman / router
Symple class for routing
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Forks: 0
pkg:composer/dart_roman/router
Requires
- php: ^7.0
README
Класс маршрутизатор для web-приложений на PHP, позволяющий строить карты маршрутизации приложения.
Общие сведения
Класс поддерживает построение маршрутов привязанных к 4-м основным HTTP-методам по средствам 4-х простых методов:get(), post(), put(), delete(). Каждый метод принимает до 3-х параметров:
endpoint- точка доступа построенная по принципуController@actionrule- правила для соответствия маршрута точке доступа, напримерcalendar/editcalendar/get-dates/{year}
match- массиав правил для параметризованных элементов маршрута (вариативный параметр), например['year' => '\d{4}']
Для запуска работы маршрутизатора достаточно 2-х строк
use DartRoman\Route;
Route::start();
Группировка маршрутов
Все маршруты можно логически сгруппировать по файлам. Для этого все файлы должны лежать в одной папке (по умолчанию routes) и подключать класс.
Расширение
Все базовые настройки можно переопределить при наследовании от класса, а именно:
$prefix- Префикс пространства имен для контроллеров$separator- Разделитель между префиксом и названием класса$routesDirectory- Путь до папки с маршрутами
Пример использования
Файл routes/calendar.php
<?php
use DartRoman\Route;
Route::get('Calendar@show', 'calendar');
Route::get('Calendar@getDates', 'calendar/get-dates/{year}', ['year' => '\d{4}']);
Route::post('Calendar@edit', 'calendar/edit');
Все маршруты взаимодействуют с классом Calendar. Где каждый из них соответствует следующим методам:
public function show()public function getDates(int $year)(атрибут$yearавтоматически передается в метод изurl)public function edit()