본문으로 바로가기

 

\app\Providers\AppServiceProvider.php

<?php

namespace App\Providers;

use App\Helper\Common;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\Route;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {


        // 모든 뷰에 공통 데이터 전달하되, 로그인 페이지 제외
        View::composer('*', function ($view) {
            // 현재 라우트 이름 가져오기
            $routeName = Route::currentRouteName();

            // 제외할 라우트 이름 목록
            $excludedRoutes = ['login'];

            if (in_array($routeName, $excludedRoutes)) {
                // 로그인 페이지면 데이터 전달 안함
                return;
            }

            $common = new Common();
            $mainMenus = $common->getMenuData();


            // 로그인 페이지가 아니면 공통 데이터 전달
            $view->with('mainMenus', $mainMenus);
            // 여기에 더 공통 데이터 추가 가능
        });
    }
}