diff --git a/framework/base/Application.php b/framework/base/Application.php index b04fea6..4cf1bdc 100644 --- a/framework/base/Application.php +++ b/framework/base/Application.php @@ -184,9 +184,10 @@ abstract class Application extends Module $this->state = self::STATE_BEGIN; - $this->registerErrorHandler($config); $this->preInit($config); + $this->registerErrorHandler($config); + Component::__construct($config); } @@ -309,14 +310,6 @@ abstract class Application extends Module echo "Error: no errorHandler component is configured.\n"; exit(1); } - // allow using ErrorHandler from the app namespace - if (strncmp($config['components']['errorHandler']['class'], 'app\\', 4) === 0) { - if (isset($config['basePath'])) { - Yii::setAlias('@app', $config['basePath']); - } else { - throw new InvalidConfigException('The "basePath" configuration for the Application is required.'); - } - } $this->set('errorHandler', $config['components']['errorHandler']); unset($config['components']['errorHandler']); $this->getErrorHandler()->register(); diff --git a/framework/console/Application.php b/framework/console/Application.php index 913e3af..973ac53 100644 --- a/framework/console/Application.php +++ b/framework/console/Application.php @@ -187,17 +187,7 @@ class Application extends \yii\base\Application return array_merge(parent::coreComponents(), [ 'request' => ['class' => 'yii\console\Request'], 'response' => ['class' => 'yii\console\Response'], + 'errorHandler' => ['class' => 'yii\web\ErrorHandler'], ]); } - - /** - * Registers the errorHandler component as a PHP error handler. - */ - protected function registerErrorHandler(&$config) - { - if (!isset($config['components']['errorHandler']['class'])) { - $config['components']['errorHandler']['class'] = 'yii\\console\\ErrorHandler'; - } - parent::registerErrorHandler($config); - } } diff --git a/framework/web/Application.php b/framework/web/Application.php index f90fa8d..ec58a0a 100644 --- a/framework/web/Application.php +++ b/framework/web/Application.php @@ -149,17 +149,7 @@ class Application extends \yii\base\Application 'response' => ['class' => 'yii\web\Response'], 'session' => ['class' => 'yii\web\Session'], 'user' => ['class' => 'yii\web\User'], + 'errorHandler' => ['class' => 'yii\web\ErrorHandler'], ]); } - - /** - * Registers the errorHandler component as a PHP error handler. - */ - protected function registerErrorHandler(&$config) - { - if (!isset($config['components']['errorHandler']['class'])) { - $config['components']['errorHandler']['class'] = 'yii\\web\\ErrorHandler'; - } - parent::registerErrorHandler($config); - } }