【问题标题】:Best practice to obtain Lavavel 4.2 Environment获取 Lavavel 4.2 环境的最佳实践
【发布时间】:2015-06-09 16:11:38
【问题描述】:

在 Laravel 4.2 框架中,我在 app/mypackages 下创建了自己的 psr-4 php 类。

在其中一个类中,我想像这样检查环境:

    $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 相对较新,因此非常感谢任何见解。

【问题讨论】:

  • 对我来说缺少的部分不包括:使用 Illuminate\Support\Facades\App;对于环境变量,全局函数 getenv('variablename');成功了。

标签: php laravel-4 environment-variables


【解决方案1】:

有几种方法。试试这些:

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

【讨论】:

  • 感谢这些有据可查的建议。我遇到的问题是,在 psr-4 类的上下文中,“App”或“app”类超出了范围,或者如上面的错误消息所述,具有“不兼容的上下文”。我的想法是,我可以通过堆栈调用将应用程序变量向下传递,直到需要它或以某种其他方式使其可用。现在我将使用传递方法,但我很好奇是否还有另一种方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-27
  • 1970-01-01
  • 2019-10-19
  • 2016-10-26
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
相关资源
最近更新 更多