【发布时间】:2018-08-11 10:32:10
【问题描述】:
你好开发人员和编码员,
我的问题是如何定义一个全局变量,它可以用于 Laravel 中的所有控制器?
我在 AppServiceProviders 的启动方法中定义了一个变量$company - 我在所有刀片视图中都使用它,但我不能在控制器文件中使用它,它给出了错误,undefined variable $company p>
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
View::share('key', 'value');
Schema::defaultStringLength(191);
$company=DB::table('company')->where('id',1)->first();
View::share('company',$company);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
请指导我,感谢您的努力和时间:)
【问题讨论】:
-
如果它是静态的,您可以使用您创建的 .env 文件或配置文件。但如果它是动态变量,您可以使用会话或缓存在任何地方使用它。
-
@ErkanÖzkök,正如您在帖子中看到的,我正在使用查询生成器从数据库中获取记录,该变量是动态的而不是静态的。
-
我们为什么要使用 AppServiceProvider(@ErkanÖzkök 回答)?我可以使用任何其他服务提供吗??
标签: php laravel global-variables laravel-5.5 controllers