繁体   English   中英

在Laravel 5.1中的AppServiceProvider中获取当前路由名称

[英]Get current route name in AppServiceProvider in Laravel 5.1

我有一个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?

谢谢!

您可以在视图编辑器下使用视图共享。

    view()->composer('*', function($view)
    {
        $view->with('current_route_name',Route::getCurrentRoute()->getName());
    });

要么

 view()->composer('*', function($view)
    {
        view()->share('current_route_name',Route::getCurrentRoute()->getName());
    })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM