Maison >développement back-end >tutoriel php >Améliorations de la définition de l'itinéraire dans Laravel avec intégration ENUM
La dernière mise à jour de Laravel améliore les définitions d'itinéraire en intégrant directement avec la fonctionnalité ENUM de PHP. Cela simplifie la configuration de l'itinéraire, éliminant le besoin de récupération de valeur manuelle lors de l'utilisation des énumérations, conduisant à un code plus propre et plus maintenable tout en conservant la sécurité de type.
Maintenant, vous pouvez utiliser de manière transparente les cas d'énumération dans les méthodes de routage de Laravel pour les noms de route et les domaines. Cette approche rationalisée maintient les avantages de la vérification du type d'énumération.
Voici un exemple démontrant l'utilisation des énumérations dans les préfixes de route:
enum RouteSection: string { case Admin = 'admin'; case Client = 'client'; case Public = 'public'; } Route::prefix(RouteSection::Admin) ->group(function () { // Admin routes });
Considérons un scénario d'application multi-portal:
<?php namespace App\Routing; use App\Http\Controllers\Portal; enum PortalType: string { case Student = 'student.university.edu'; case Faculty = 'faculty.university.edu'; case Admin = 'admin.university.edu'; } enum PortalSection: string { case Dashboard = 'dashboard'; case Resources = 'resources'; case Profile = 'profile'; } // Route configuration Route::domain(PortalType::Student) ->middleware(['auth', 'student']) ->group(function () { Route::get('/', [Portal\StudentController::class, 'index']) ->name(PortalSection::Dashboard); Route::get('/materials', [Portal\ResourceController::class, 'index']) ->name(PortalSection::Resources); Route::get('/profile', [Portal\ProfileController::class, 'show']) ->name(PortalSection::Profile); }); Route::domain(PortalType::Faculty) ->middleware(['auth', 'faculty']) ->group(function () { // Faculty portal routes using the same enums Route::get('/', [Portal\FacultyController::class, 'index']) ->name(PortalSection::Dashboard); });
Cette prise en charge directe de l'énumération améliore considérablement la lisibilité au code et la maintenabilité, tout en préservant les avantages des énumérations PHP, telles que la sécurité de type et l'amélioration automatique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!