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

相關問題