检测Silex中的环境类型(生产、开发或阶段)


detect environment type (production, development or staging) in Silex

我使用的是微框架Silex,我需要在给定脚本的运行时检测环境类型。这意味着,检测它是devprod还是staging

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

getenv('ENVIRONMENT')

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

已经说过,没有什么可以阻止您在中创建自己的环境变量,比如$app['env'](是的,非常原始…)。因此,无论您在哪里需要知道您正在运行的环境,都可以使用$app['env']变量。

为了初始化此变量并遵循silex骨架,您可以(在web文件夹中,您的DocumentRoot)有一个index.phpindex_dev.phpindex_stg.php,在调用$app->run()之前,您可以在其中相应地设置$app['env']

或者,您可以使用@WimMastermans解释的技术,并使用真实的环境变量:-)