Rumah >pembangunan bahagian belakang >tutorial php >Mengoptimumkan Kebenaran Laluan dengan Sokongan Enum Laravel ' s
Jika anda telah menggunakan kaedah Enums dan Laravel
, anda mungkin biasa dengan melampirkan Route::can()
ke cek kebenaran. Laravel kini memudahkan proses ini dengan sokongan penghitungan terbina dalam untuk kebenaran penghalaan. Mari kita meneroka peningkatan ini yang menjadikan kod anda lebih ringkas dan elegan. ->value
Perbandingan sebelumnya dan belakang
Berikut adalah bagaimana tatabahasa berevolusi:
// 旧方法 Route::get('/posts', function () {...})->can(PostPermissions::CREATE_POST->value); // 新方法 Route::get('/posts', function () {...})->can(PostPermissions::CREATE_POST);tidak perlu lagi
-Ia itu mudah! ->value
Aplikasi praktikal
mari kita melaksanakannya dalam sistem pengurusan kandungan dengan pelbagai tahap kebenaran:
<?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); });Dalam contoh ini, kita:
Atas ialah kandungan terperinci Mengoptimumkan Kebenaran Laluan dengan Sokongan Enum Laravel ' s. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!