Rumah > pembangunan bahagian belakang > tutorial php > Mengoptimumkan Kebenaran Laluan dengan Sokongan Enum Laravel ' s

Mengoptimumkan Kebenaran Laluan dengan Sokongan Enum Laravel ' s

Johnathan Smith
Lepaskan: 2025-03-06 00:39:09
asal
682 orang telah melayarinya

Optimizing Route Permissions with Laravel's Enhanced Enum Support

Kebenaran penghalaan yang dioptimumkan Laravel: Sokongan penghitungan yang dipertingkatkan

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);
Salin selepas log masuk
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);
});
Salin selepas log masuk
Dalam contoh ini, kita:

    Tentukan keizinan kami menggunakan penghitungan yang menyokong nilai
  • Kumpulan laluan yang berkaitan di bawah awalan awam
  • Gunakan periksa kebenaran secara langsung menggunakan situasi penghitungan
Pendekatan ini meningkatkan kebolehbacaan kod dan menyimpan jenis-selamat dengan penghitungan nilai-nilai yang disokong PHP. Hasilnya adalah definisi penghalaan yang lebih mudah dikekalkan dan dinyatakan yang lebih baik mewakili struktur kebenaran permohonan.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan