Якщо ви працюєте з 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 у PHP. Результат — більш прості та виразні визначення маршрутів, які краще відображають структуру прав доступу вашого додатку
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel