ホームページ >バックエンド開発 >PHPチュートリアル >Laravelの強化された列挙サポートを使用して、ルート許可を最適化します

Laravelの強化された列挙サポートを使用して、ルート許可を最適化します

Johnathan Smith
Johnathan Smithオリジナル
2025-03-06 00:39:09683ブラウズ

Optimizing Route Permissions with Laravel's Enhanced Enum Support

LARAVEL最適化されたルーティング許可:列挙サポートの強化

enumsとlaravelのRoute::can()メソッドを使用している場合、許可チェックに->valueを添付することに精通している場合があります。 Laravelは、ルーティング許可のための組み込みの列挙サポートでこのプロセスを簡素化するようになりました。コードをより簡潔でエレガントにするこの強化を調べてみましょう。

以前とバックの比較

以下は、文法がどのように進化するかです

// 旧方法
Route::get('/posts', function () {...})->can(PostPermissions::CREATE_POST->value);
// 新方法
Route::get('/posts', function () {...})->can(PostPermissions::CREATE_POST);
もう必要ありません

- それは簡単です! ->value

実用的なアプリケーション

さまざまな許可レベルのコンテンツ管理システムにこれを実装しましょう:

この例では、この例では:
<?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);
});

    をサポートする列挙を使用してアクセス許可を定義します
  • 公開プレフィックスの下に関連するルートをグループ
  • グループにグループ化します
  • 列挙状況を使用して、許可チェックを直接使用します
  • このアプローチは、コードの読みやすさを向上させ、PHPサポート値の列挙でタイプセーフを維持します。結果は、アプリケーションの許可構造をよりよく表す、より簡単に維持および表現されたルーティング定義です。

以上がLaravelの強化された列挙サポートを使用して、ルート許可を最適化しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。