Laravel продовжує впроваджувати функціонал enum у PHP, тепер безпосередньо підтримуючи його у визначеннях маршрутів. Це оновлення усуває потребу в явному доступі до значень під час використання enums у маршрутах, що робить код чистішим і легшим для обслуговування, при цьому зберігаючи типову безпеку.
Тепер, працюючи з іменами маршрутів або доменами, ви можете передавати enum case безпосередньо в методи маршрутизації Laravel, спростивши визначення маршрутів без втрати переваг перевірки типу enums.
enum RouteSection: string
{
case Admin = 'admin';
case Client = 'client';
case Public = 'public';
}
Route::prefix(RouteSection::Admin)
->group(function () {
// Маршрути для адміністратора
});
Розглянемо практичний приклад організації маршрутів у багатопортальному додатку:
<?php
namespace App\Routing;
use App\Http\Controllers\Portal;
enum PortalType: string
{
case Student = 'student.university.edu';
case Faculty = 'faculty.university.edu';
case Admin = 'admin.university.edu';
}
enum PortalSection: string
{
case Dashboard = 'dashboard';
case Resources = 'resources';
case Profile = 'profile';
}
// Налаштування маршрутів
Route::domain(PortalType::Student)
->middleware(['auth', 'student'])
->group(function () {
Route::get('/', [Portal\StudentController::class, 'index'])
->name(PortalSection::Dashboard);
Route::get('/materials', [Portal\ResourceController::class, 'index'])
->name(PortalSection::Resources);
Route::get('/profile', [Portal\ProfileController::class, 'show'])
->name(PortalSection::Profile);
});
Route::domain(PortalType::Faculty)
->middleware(['auth', 'faculty'])
->group(function () {
// Маршрути для порталу факультету, використовуючи ті ж enums
Route::get('/', [Portal\FacultyController::class, 'index'])
->name(PortalSection::Dashboard);
});
Підтримка enum у визначеннях маршрутів покращує читабельність коду, зберігаючи переваги типового контролю та автозаповнення, які надають enums у PHP.
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку
Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!