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
Johnathan SmithOriginal
2025-03-06 00:39:09683Durchsuche

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);

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

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!

Stellungnahme:
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