Оптимізація дозволів маршрутів за допомогою розширеної підтримки Enum у Laravel

Перекладено ШІ 1 Laravel News 26 червня, 2026

У статті ми дослідимо нові можливості підтримки enum у Laravel, які спростили перевірку прав доступу в методі Route::can. Дізнайтеся, як ця вдосконалена функціональність допоможе вам створювати чистіший і елегантніший код!

Якщо ви працюєте з enum і методом Route::can() у Laravel, напевно, ви знайомі з необхідністю додавати ->value під час перевірки прав. Тепер Laravel спростив цей процес завдяки вбудованій підтримці enum для маршрутів. Давайте розглянемо це вдосконалення, яке робить ваш код чистішим і елегантнішим.

# Порівняння до і після

Ось як змінився синтаксис:

// Старий підхід
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);
});

У цьому прикладі ми:

  • Визначаємо права доступу за допомогою backed enum;
  • Групуємо пов'язані маршрути під спільним префіксом;
  • Безпосередньо застосовуємо перевірки прав за допомогою випадків enum.

Цей підхід підвищує читабельність коду та зберігає безпеку типів завдяки backed enum у PHP. Результат — більш прості та виразні визначення маршрутів, які краще відображають структуру прав доступу вашого додатку

Популярні

Інше, що варто прочитати

38 Оновлено 26 червня, 2026

4 поширені помилки Vite у Laravel

Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку

13 Оновлено 26 червня, 2026

Створення CLI-додатка за допомогою Laravel та Docker

Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!

11 Оновлено 26 червня, 2026

Laravel: шлях до створення справді дієздатних AI-агентів

Чи готові ви підвищити ефективність своїх проектів на Laravel і спростити інтеграцію штучного інтелекту? У нашій статті ви дізнаєтеся, як Vizra ADK може революціонізувати ваш підхід до розробки, розширюючи можливості, забезпечуючи тестування та надійність для ваших AI-агентів