سلام دوستان. گاهی وقت‌ها بعضی از View ها که توی برنامه مشترک هستن، همیشه نیاز به یک متغیر دارن. مثلاً فوتر و هدر برنامه. در حالت عادی اگه بخوایم توی همه return view(...) های برنامه، متغیر مورد نظرمون رو پاس بدیم، کار تکراری و نادرستی هست. برای حل این مشکل راه حل جالبی وجود داره 😉

کلاس AppServiceProvider رو باز می‌کنیم، کلاس View رو مثل خط ۶ Use می‌کنیم و توی متد boot کد خط ۱۲ رو می‌نویسیم:

<?php

namespace App\Providers;

//...
use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        View::composer('shared.footer', function ($view) {
            $view->with(['key' => 'value']);
        });
    }
}

با این کار، توی ویوی shared.footer متغیر key همیشه در دسترس هست 👌