FrameworkDocs
PHP 8.4+ UIkit 3 FA 6 Pro
Der RouteBuilder wird nicht direkt instanziiert. Er wird von Methoden wie $router->get(), $router->post() usw. zurückgegeben.

Methoden-Übersicht

MethodeRückgabetypBeschreibung
name(?string $name)RouteBuilderBenennt die Route für URL-Generierung via $router->url().
middleware(string ...$middleware)RouteBuilderFügt route-spezifische Middleware hinzu (vollständige Klassennamen).
where(string $param, string $regex)RouteBuilderDefiniert einen Regex-Constraint für einen URL-Parameter.
whereNumber(string $param)RouteBuilderParameter muss eine Ganzzahl sein (\d+).
whereAlpha(string $param)RouteBuilderParameter darf nur Buchstaben enthalten ([a-zA-Z]+).
whereAlphaNumeric(string $param)RouteBuilderParameter darf Buchstaben und Ziffern enthalten.
whereSlug(string $param)RouteBuilderParameter muss ein URL-Slug sein (z.B. mein-artikel-123).
whereUuid(string $param)RouteBuilderParameter muss eine UUID v4 sein.

Beispiele

PHP – Method Chaining
// Benannte Route mit Constraint und Middleware
$router->get('/users/{id}', UserController::class, 'show')
    ->name('users.show')
    ->whereNumber('id')
    ->middleware(AuthMiddleware::class);

// Artikel mit Slug
$router->get('/blog/{slug}', BlogController::class, 'show')
    ->name('blog.show')
    ->whereSlug('slug');

// UUID-basierte Route
$router->delete('/items/{uuid}', ItemController::class, 'destroy')
    ->name('items.destroy')
    ->whereUuid('uuid')
    ->middleware(AuthMiddleware::class, CsrfMiddleware::class);

// Eigener Regex-Constraint
$router->get('/years/{year}', ArchiveController::class, 'byYear')
    ->where('year', '20\d{2}');  // Nur Jahre 2000–2099