簡體   English   中英

Laravel-$ _ENV無法在服務提供商中使用

[英]Laravel - $_ENV not working in service provider

我正在嘗試構建一個使用第三方API的應用程序,並且正在使用.env.local.php文件存儲敏感信息。 在將另一個屬性添加到$ _ENV超全局變量之前,此方法沒有任何問題。 除了最近添加的屬性,我仍然可以訪問$ _ENV的其他屬性。 但是,我可以在應用程序的其他部分訪問新屬性,但我需要的服務提供程序類除外,該屬性會引發“語法錯誤,意外的'$ _ENV'(T_VARIABLE)”。

這或多或少是我的.env.local.php

<?php

return array(
    'DB_NAME' => 'placeholder',
    'DB_USER' => 'placeholder',
    'NEW_PROPERTY' => 'test' // Property I can't access in my service provider
);

我的服務提供商:

<?php

class Service {

    protected $new_property = $_ENV['NEW_PROPERTY'];

}

如果有人能提供我如何解決此問題的見解,我將非常感謝您的協助。 提前致謝!

我的解決方案是在構造函數中設置此值。 像這樣

<?php 

class Service {
    protected $new_property;

    public function __construct(){
        $this->new_property = $_ENV['NEW_PROPERTY'];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM