通过Laravel应用程序共享变量

时间:2017-03-14 15:26:11

标签: php laravel laravel-5 service-provider

我有一个变量。

$key_test = 123456789;

我希望能够在我的应用程序中的任何位置访问此1变量,即使在配置文件,模型,控制器和视图中也是如此。

我已经尝试在我的boot()

中添加它
<?php

namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\VSE, App\CURL;
use View;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {

        $key_test = 123456789;

    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

我试图在我的配置文件中访问它。我一直得到null

<?php

dd($key_test); <---- null

return [ ... ]; 

问题

如何在配置文件中访问该变量?

我是否在boot()中做到了这一点?

如何继续进行调试?

我现在正在接受任何建议。

任何提示/建议/帮助都将非常感谢!

3 个答案:

答案 0 :(得分:3)

将此变量放入.env文件中:

VAR=123456789;

然后,您将能够使用env('VAR');从配置文件,模型,控制器和其他类访问它。

答案 1 :(得分:3)

您可以使用辅助方法进行配置。

config(['key_test'=>123456789])

然后通过相同的方式访问它,

config('key_test')

答案 2 :(得分:1)

你可以在这里选择全局变量,会话,文件,数据库,或者在内存中使用redis或memcache。