2

我正在使用微观框架Silex,我需要在给定脚本的运行时检测环境类型。这意味着,检测它是否为devprodstaging在Silex中检测环境类型(生产,开发或分期)

+0

我用我的一种生活每一个未启用的git跟踪机器上的配置文件做。 – castis 2015-02-11 22:23:50

+0

这应该没有必要;行为应该由配置来控制,而不是您附加给它的标签。 – 2015-02-11 22:25:24

回答

3

我没有Silex的经验,但我总是为此使用环境变量。然后在你的应用程序,您可以获得当前环境:

getenv('ENVIRONMENT') 
3

Silex的本身并没有环境,只有一个调试模式。为了知道您的应用程序是否处于调试模式,您有变量$app['debug']

说了什么都没有阻止你创建自己的环境变量,比如说$app['env'](是非常原始的......)。所以你需要知道你在运行哪个环境,你可以使用$app['env']变量。

为了初始化这个变量并按照silex skeleton你可以(在Web文件夹,您的DocumentRoot)的index.phpindex_dev.phpindex_stg.php在那里你调用相应的前$app->run()设置$app['env']

或者你可以使用@WimMostmans解释的技术和使用一个真正的环境变量:-)

+0

谢谢,这个解决方案将适用于前端控制器,但我想知道它如何在命令上工作? – millenion 2015-06-29 08:28:02

+0

你应该为命令(--env)设置一个参数,默认为你想要的环境。 – mTorres 2015-06-29 10:23:50

相关问题