我使用的是微框架Silex,我需要在给定脚本的运行时检测环境类型。这意味着,检测它是dev、prod还是staging。
我没有使用Silex的经验,但我总是使用环境变量。然后在您的应用程序中,您可以使用获得当前环境
getenv('ENVIRONMENT')
Silex本身没有环境,只有调试模式。为了知道您的应用程序是否处于调试模式,您有$app['debug']
变量。
已经说过,没有什么可以阻止您在中创建自己的环境变量,比如$app['env']
(是的,非常原始…)。因此,无论您在哪里需要知道您正在运行的环境,都可以使用$app['env']
变量。
为了初始化此变量并遵循silex骨架,您可以(在web文件夹中,您的DocumentRoot)有一个index.php
、index_dev.php
、index_stg.php
,在调用$app->run()
之前,您可以在其中相应地设置$app['env']
。
或者,您可以使用@WimMastermans解释的技术,并使用真实的环境变量:-)