Úvod
Laravel 11.34.0 přináší slavnou funkci Conditionable do správy tras, která umožňuje přidat podmíněnou logiku při definování tras pomocí příkazu when() metoda. Toto vylepšení umožňuje vývojářům přidávat podmíněnou logiku při definování tras, což přináší větší flexibilitu a přehlednost definic tras. Tato funkce byla zavedena Boorinio a sloučen jako součást požadavku na stažení #53654.
Problém, který řeší
Dříve vyžadovala správa podmíněné logiky pro definice tras rozsáhlejší nebo složitější logiku, často propojenou s jinými částmi aplikace. Tato nová metoda tento proces zjednodušuje, díky čemuž jsou soubory tras přehlednější a srozumitelnější.
Jak to funguje
Na stránkách when() lze použít k definování tras, které se načítají pouze tehdy, když je daná podmínka pravdivá, nebo k přidání jakékoli logiky související s trasou na základě zadaných podmínek. Zde je příklad:
Route::middleware('shop') ->domain('{shop}.domain.com') ->when(App::isProduction(), function ($route) { $route->whereIn('shop', app(ShopService::class)->getShopSlugs()); });
Toto vylepšení nejen zvyšuje čitelnost, ale také umožňuje vývojářům dynamicky řídit dostupnost tras na základě různých stavů nebo konfigurací aplikace.
Podporované verze
Na stránkách when() metoda je k dispozici na trasách od verze Laravel 11.34.0.