我建立一個網站,有一個「子域」之稱的市場。所以url將是marketplace.sample.com。我正在使用Yii2高級應用程序,並將以下代碼添加到位於前端/ web中的index.php。我在哪裏放Yii2全局變量類似YII_DEBUG和YII_ENV
defined('MARKETPLACE') or define('MARKETPLACE', preg_match('/^marketplace/', $_SERVER['HTTP_HOST']) === 1 ? true : false);
這適用於我的環境,但是,我只是意識到index.php文件是在Yii2中的.gitignore文件,因爲該文件是由init腳本創建,因此它的變化將被覆蓋運行init。
無論如何,所以問題是:我在哪裏可以把這個代碼,以便它可以提交,並與開發團隊的其他成員共享,並使其生產的代碼時被推?
我試圖把這個代碼放在common/config/params.php中,但是當我嘗試訪問變量來確定使用哪個路由時,我不能這樣做,因爲Yii應用程序在前端/ config/main.php文件運行,我得到一個錯誤,我試圖訪問一個非對象的屬性。
/frontend/config/main.php
'defaultRoute' => MARKETPLACE ? 'marketplace' : 'site',
/frontend/config/main.php(帶PARAM代替)
'defaultRoute' => Yii::$app->params['marketplace'] ? 'marketplace' : 'site'
這第二個給出了我想要的錯誤訪問非對象的屬性。
爲什麼不加入另一個文件(env.php爲例),並要求其在指數。 PHP,因此保持它.gitignore。 – apoq
我不能在index.php中添加任何東西,並且讓它與其他開發者共享,因爲它被忽略。所以我不能添加一個需求,因爲我無法添加上面的定義。 – paviktherin