2015-04-04 40 views
2

在Laravel 4.2框架中,我在app/mypackages下創建了自己的psr-4 php類。獲得Lavavel 4.2環境的最佳實踐

在那些我想檢查環境是這樣的一類:

$environment = Application::environment(); 
    or 
    $environment = Cache::get('environment'); 

但也不是工作。在第一個示例中,我收到以下錯誤。

Non-static method Illuminate\Foundation\Application::environment() should not be called statically, assuming $this from incompatible context 

$ app變量在此上下文中不可用。獲取環境並使$ app實例可用於獲取配置文件夾中的環境和一些依賴於環境的變量的最佳實踐是什麼?

Laravel相對較新,所以任何見解都非常感謝。

+0

對我來說,缺少的部分不包括: 使用照亮的\ Support \外立面\應用; 而對於環境變量全局函數 getenv('variablename'); 做到了。 – mba12 2015-04-06 15:14:06

回答

0

有幾種方法。試試這些:

App::environment() 
app()->environment() 
app()->env 
$GLOBALS['env'] // not recommended - but it is possible 
+0

感謝那些有據可查的建議。我遇到的問題是,在psr-4類的背景下,「App」或「app」類超出了範圍,或者上面的錯誤消息中有「不兼容的上下文」。 我的想法是,我可以通過堆棧調用向下傳遞應用程序變量,直到需要或以某種方式使其可用於其他方式。現在我要用傳遞方法,但好奇的是有另一種方法。 – mba12 2015-04-05 18:37:43