我在应用程序的每条路线中都设置了公司参数。我正在尝试将该公司的变量发送到每个视图以便于访问。
在我的 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
我将如何获取参数变量?
Edit:
我正在这样做boot()
功能
Answer:
我所做的就是在 AppServiceProvider 的 register() 函数中执行以下操作:
view()->composer('*', function ($view) {
// all views will have access to current route
$view->with('company', \Route::getCurrentRoute()->getParameter('company'));
});
目前路线尚不清楚应用服务提供商因为应用程序仍在此处引导。如果您想访问路由参数,您可以使用视图编辑器 - 请在此处查看更多详细信息https://laravel.com/docs/5.1/views#view-composers 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());
});
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)