Метод з назвою в Laravel забезпечує простий спосіб визначити, чи відповідає поточний запит певній назві маршруту. Ця потужна можливість дозволяє виконувати умовну логіку на основі активного маршруту, що є чудовим для аналітики, підсвічування навігації чи перевірки прав доступу.
Особливо цінним цей підхід стає при створенні компонентів, які повинні функціонувати по-різному в залежності від активного маршруту, без необхідності повторювати умовні перевірки в усьому додатку.
if ($request->route()->named('dashboard')) {
// Ми на панелі керування
}
Ось практичний приклад реалізації динамічних станів навігації:
<?php
namespace App\View\Components;
use Illuminate\View\Component;
use Illuminate\Http\Request;
class NavigationMenu extends Component
{
public function __construct(private Request $request)
{
}
public function isActive(string $routeName): bool
{
return $this->request->route()->named($routeName);
}
public function isActiveSection(string $section): bool
{
return $this->request->route()->named("$section.*");
}
public function render()
{
return view('components.navigation-menu', [
'sections' => [
'dashboard' => [
'label' => 'Панель приладів',
'route' => 'dashboard',
'active' => $this->isActive('dashboard')
],
'posts' => [
'label' => 'Блог',
'route' => 'posts.index',
'active' => $this->isActiveSection('posts')
],
'settings' => [
'label' => 'Налаштування',
'route' => 'settings.index',
'active' => $this->isActiveSection('settings')
]
]
]);
}
}
Коли ви використовуєте цей компонент у своєму додатку, навігаційне меню автоматично визначає активний маршрут і оновлюється відповідно:
<!-- navigation-menu.blade.php -->
<nav>
@foreach($sections as $key => $section)
<a href="{{ route($section['route']) }}"
@class(['nav-link', 'active' => $section['active']])>
{{ $section['label'] }}
</a>
@endforeach
</nav>
Метод з назвою спрощує логіку на основі маршрутів, роблячи ваш код більш підтримуваним та зменшуючи складність функцій, залежних від маршрутів
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку