Przewodnik

Routing

Nazwane trasy, parametry i lokalizacja tylko tam, gdzie strategia URL naprawdę ich potrzebuje.

Zacznij od prostych nazwanych tras

Na początek użyj getNamed(), postNamed() i podobnych metod w app/Config/Routing.php. To najbardziej czytelny start dla nowego projektu i podejście zgodne ze skeletonem.

example.php
<?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',
    );
};

Parametry tras i generowanie URL

Parametry trasy trafiają do argumentów akcji według nazwy. URL generuj przez UrlGenerator lub helpery widoku zamiast ręcznie składać ścieżki.

example.php
$url = $this->url()->route('articles.detail', [
    'id' => 123,
    'preview' => 1,
]);

Lokalizacja tras jest opcjonalna

Używaj localizedGroup() tylko wtedy, gdy aplikacja rzeczywiście potrzebuje adresów URL zależnych od języka. Nie musi to być element pierwszego przykładu w każdym projekcie. Gdy podstawowy routing jest już jasny, przejdź do Middleware po wspólne reguły requestów oraz do Formularzy i obsługi POST po formularze zmieniające stan.

example.php
$router->localizedGroup(static function (Router $router): void {
    $router->getNamed('home.index', '/', 'HomeController@index');
});