destroyApp(); } } public function getParam($name) { if (self::$params === null) { self::$params = require(__DIR__ . '/data/config.php'); } return isset(self::$params[$name]) ? self::$params[$name] : null; } protected function requireApp($requiredConfig=array()) { static $usedConfig = array(); static $defaultConfig = array( 'id' => 'testapp', 'basePath' => __DIR__, ); $newConfig = array_merge( $defaultConfig, $requiredConfig ); if (!(\yii::$app instanceof \yii\web\Application)) { new \yii\web\Application( $newConfig ); $usedConfig = $newConfig; } elseif ($newConfig !== $usedConfig) { new \yii\web\Application( $newConfig ); $usedConfig = $newConfig; } } protected function destroyApp() { \yii::$app = null; } }