app->singleton(SidebarMenuService::class); } /** * Bootstrap any application services. */ public function boot(): void { // File Observer: 파일 생성/삭제 시 테넌트 저장소 사용량 자동 업데이트 File::observe(FileObserver::class); // Morph Map: Polymorphic 관계 모델 등록 Relation::enforceMorphMap([ 'user' => User::class, 'post' => Post::class, 'department' => Department::class, ]); // 사이드바에 메뉴 데이터 전달 View::composer('partials.sidebar', function ($view) { $menuService = app(SidebarMenuService::class); $menusBySection = $menuService->getMenusBySection(); $view->with([ 'mainMenus' => $menusBySection['main'], 'toolsMenus' => $menusBySection['tools'], 'labsMenus' => $menusBySection['labs'], ]); }); } }