全局菜单的问题

在站点上,总会有些经常需要使用的数据,而且这些数据还得从数据库里获取;比如导航菜单在很多页面上都会用到。
目前我使用的方法是:
新建一个控制器App\Http\Controllers\GlobalControllers\MenuController,这个控制器负责从数据库查询菜单数据。
然后在AppServiceProvider

use App\Http\Controllers\GlobalControllers\MenuController as globalMenu;
public function register()
    {
        $this->app->singleton('menu',function(){
            return new globalMenu();
        });
    }

最后在view上调用这些数据。。
这样做有没有不妥?

yin

直接在serviceProvider里面用view share也可以

yzha5 回复 yin

视图文件在同个项目中使用 View::share() 是可以的;如果视图不在laravel项目中,比如跨域,这就得另想办法了。