Heim > Backend-Entwicklung > PHP-Tutorial > Optimierung der Routenberechtigungen mit verstärktem Enum -Unterstützung von Laravel.

Optimierung der Routenberechtigungen mit verstärktem Enum -Unterstützung von Laravel.

Johnathan Smith
Freigeben: 2025-03-06 00:39:09
Original
681 Leute haben es durchsucht

Optimizing Route Permissions with Laravel's Enhanced Enum Support

laravel optimierte Routing -Berechtigungen: Verbesserte Aufzählungsunterstützung

Wenn Sie Enums und Laravel Route::can() Methode verwendet haben, sind Sie möglicherweise mit dem Anhängen von ->value an Berechtigungsprüfungen vertraut. Laravel vereinfacht diesen Prozess nun mit integrierter Aufzählungsunterstützung für Routing-Berechtigungen. Lassen Sie uns diese Verbesserung untersuchen, die Ihren Code prägnanter und eleganter macht.

Vorheriger und hinterer Vergleich

Folgendes ist, wie sich die Grammatik entwickelt:

// 旧方法
Route::get('/posts', function () {...})->can(PostPermissions::CREATE_POST->value);
// 新方法
Route::get('/posts', function () {...})->can(PostPermissions::CREATE_POST);
Nach dem Login kopieren

NICHT MEHR ZEIT ->value - es ist so einfach!

Praktische Anwendung

implementieren wir dies in einem Content -Management -System mit verschiedenen Berechtigungsstufen:

<?php namespace App\Enums;

use App\Enums\BackedEnum;

class ContentPermissions extends BackedEnum
{
    case VIEW_CONTENT = 'view_content';
    case PUBLISH_POST = 'publish_post';
    case MODERATE_COMMENTS = 'moderate_comments';
}

Route::prefix('content')->group(function () {
    Route::get('/dashboard', [ContentController::class, 'index'])
        ->can(ContentPermissions::VIEW_CONTENT);

    Route::post('/posts', [PostController::class, 'store'])
        ->can(ContentPermissions::PUBLISH_POST);

    Route::put('/comments/{comment}', [CommentController::class, 'update'])
        ->can(ContentPermissions::MODERATE_COMMENTS);
});
Nach dem Login kopieren

In diesem Beispiel:

  • Definieren Sie unsere Berechtigungen mit Aufzählungen, die Werte
  • unterstützen
  • Gruppen Sie die relevanten Wege unter einem öffentlichen Präfix
  • Gruppieren
  • Verwenden Sie die Berechtigungsüberprüfung direkt mit der Aufzählungssituation

Dieser Ansatz verbessert die Lesbarkeit des Codes und hält Typen mit Aufzählungen von PHP-unterstützten Werten. Das Ergebnis ist eine leichter gewaltige und ausdrückliche Routing -Definition, die die Berechtigungsstruktur der Anwendung besser darstellt.

Das obige ist der detaillierte Inhalt vonOptimierung der Routenberechtigungen mit verstärktem Enum -Unterstützung von Laravel.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage