我安装了Laravel 5.1,我希望与所有观点共享路径名称。我的导航需要这个,所以我可以根据用户所在的页面突出显示相应的导航菜单按钮。
我在app \ Providers \ AppServiceProvider中有这段代码:
public function boot()
{
$path = Route::getCurrentRoute()->getName();
view()->share('current_route_name', $path);
}
我正在使用此命名空间:
use Illuminate\Support\Facades\Route;
但我在视图中收到此错误:
Call to a member function getName() on a non-object
有趣的是,如果我在视图中写这个,它完全没有问题:
{{ Route::getCurrentRoute()->getName() }}
有人能帮帮我吗?我没有使用正确的命名空间,或者甚至不可能在应用程序中使用Route?
谢谢!
答案 0 :(得分:0)
您可以在视图编辑器下使用视图共享。
view()->composer('*', function($view)
{
$view->with('current_route_name',Route::getCurrentRoute()->getName());
});
或
view()->composer('*', function($view)
{
view()->share('current_route_name',Route::getCurrentRoute()->getName());
})