Руководство
Routing
Именованные маршруты, параметры и локализация только там, где они действительно нужны стратегии URL.
Начните с простых именованных маршрутов
Для начала используйте getNamed(), postNamed() и похожие методы в app/Config/Routing.php. Это самый понятный вариант для нового проекта и он соответствует skeleton.
<?php
use App\Controllers\ArticleController;
use Lemonade\Framework\Routing\Router;
return static function (Router $router): void {
$router->getNamed(
'articles.detail',
'/articles/{id}',
ArticleController::class . '@detail',
);
};Параметры маршрутов и генерация URL
Параметры маршрута передаются в аргументы action по имени. Генерируйте URL через UrlGenerator или view helper-методы вместо ручной сборки путей.
$url = $this->url()->route('articles.detail', [
'id' => 123,
'preview' => 1,
]);Локализация маршрутов необязательна
Используйте localizedGroup() только если приложению действительно нужны URL, зависящие от языка. Это не обязано быть частью первого примера каждого проекта. Когда базовый routing понятен, переходите к Middleware для общих правил request и к Формам и POST-потоку для форм, меняющих состояние.
$router->localizedGroup(static function (Router $router): void {
$router->getNamed('home.index', '/', 'HomeController@index');
});