Leitfaden

Routing

Benannte Routen, Parameter und Lokalisation nur dort, wo die URL-Strategie sie wirklich braucht.

Mit einfachen benannten Routen beginnen

Verwende zunächst getNamed(), postNamed() und ähnliche Methoden in app/Config/Routing.php. Das ist der klarste Einstieg für ein neues Projekt und entspricht dem Skeleton.

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',
    );
};

Routenparameter und URL-Erzeugung

Routenparameter werden anhand ihres Namens an die Action-Argumente übergeben. Erzeuge URLs mit UrlGenerator oder View-Helpern statt Pfade manuell zusammenzusetzen.

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

Lokalisierte Routen sind optional

Verwende localizedGroup() nur, wenn die Anwendung wirklich sprachabhängige URLs braucht. Es muss nicht im ersten Beispiel jedes Projekts auftauchen. Sobald das grundlegende Routing klar ist, geht es mit Middleware für gemeinsame Request-Regeln und mit Formulare & POST-Ablauf für schreibende Formulare weiter.

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