Креатори Views у Laravel дозволяють вам готувати дані одразу після створення виду, ще на етапі до роботи View Composers. Це робить їх ідеальними для налаштування необхідних даних або оптимізації продуктивності.
use Illuminate\Support\Facades\View;
// Реєстрація View Creator
View::creator('dashboard', DashboardCreator::class);
Розглянемо практичний приклад управління динамічним меню програми:
<?php
namespace App\View\Creators;
use App\Services\MenuService;
use Illuminate\View\View;
use Illuminate\Support\Facades\Auth;
class ApplicationMenuCreator
{
protected $menuService;
public function __construct(MenuService $menuService)
{
$this->menuService = $menuService;
}
public function create(View $view)
{
$user = Auth::user();
$view->with([
'mainMenu' => $this->menuService->getMainMenu($user),
'quickActions' => $this->menuService->getQuickActions($user),
'recentItems' => $this->menuService->getRecentItems($user),
'notifications' => $this->menuService->getPendingNotifications($user)
]);
}
}
// У вашому AppServiceProvider
public function boot()
{
View::creator('layouts.app', ApplicationMenuCreator::class);
}
// Використання в layouts/app.blade.php
<div class="sidebar">
<nav>
@foreach($mainMenu as $menuItem)
<a href="{{ $menuItem['url'] }}" class="{{ $menuItem['active'] ? 'active' : '' }}">
{{ $menuItem['label'] }}
</a>
@endforeach
</nav>
@if(count($quickActions))
<div class="quick-actions">
@foreach($quickActions as $action)
<button onclick="handleAction('{{ $action['id'] }}')">
{{ $action['label'] }}
</button>
@endforeach
</div>
@endif
</div>
Креатори Views забезпечують спрощену підготовку даних для ваших видів, гарантуючи доступність критично важливої інформації відразу після створення виду
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!