【问题标题】:Get route paramater in AppServiceProvider在 AppServiceProvider 中获取路由参数
【发布时间】:2016-10-11 02:49:37
【问题描述】:

我在我的应用程序的每条路线中都设置了公司参数。我正在尝试将该公司的变量发送到每个视图以便于访问。

在我的 AppServiceProvider.php 中,我尝试了两件事:

$company = App::make('request')->route()->getParameter('company');
view()->share('company', $company);

还有:

$company = Route::getCurrentRoute()->getParameter('company');
view()->share('company', $company);

但是对于他们两个我都得到了错误:

Call to a member function getParameter() on a non-object

如何获取参数变量?

编辑:

我在 boot() 函数中这样做

答案:

我所做的只是在 AppServiceProvider 的 register() 函数中执行以下操作:

 view()->composer('*', function ($view) {
            // all views will have access to current route
            $view->with('company', \Route::getCurrentRoute()->getParameter('company'));
        });

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    当前路径在 AppServiceProvider 中尚不为人所知,因为应用程序仍在此处进行引导。如果您想访问路由参数,您可以使用视图编辑器 - 在这里查看更多详细信息 https://laravel.com/docs/5.1/views#view-composers

    一个简单的例子:

    class AppServiceProvider extends ServiceProvider {
      public function register()
      {
        view()->composer('*', function ($view) {
            // all views will have access to current rout
            $view->with('current_route', \Route::getCurrentRoute());
        });
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-30
      • 2016-12-28
      • 2016-10-30
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多