【问题标题】:Get current route name in AppServiceProvider in Laravel 5.1在 Laravel 5.1 的 AppServiceProvider 中获取当前路由名称
【发布时间】:2016-05-27 20:47:48
【问题描述】:

我安装了 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?

谢谢!

【问题讨论】:

    标签: php laravel-5.1


    【解决方案1】:

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

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

    或者

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

    【讨论】:

      猜你喜欢
      • 2018-07-05
      • 1970-01-01
      • 2015-10-08
      • 2015-10-04
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      • 2017-11-28
      相关资源
      最近更新 更多