Error handling
By extending yii\rest\Controller
(or yii\rest\ActiveController
), we can easily implement error handling in our application by defining a proper error handler within our configuration, as illustrated in previous chapters:
<?php return [ // [...], 'components' => [ // [...], 'errorHandler' => [ 'errorAction' => 'user/error', ], // [...] ], ];
Unlike view-based responses, we do not need to include a definition within the actions()
method of our controller for the error handler that we want to use. Instead, we can simply return the error as it occurs, or we can override the error to display a more generic response:
<?php namespace app\controllers; use yii\rest\ActiveController; class UserController extends ActiveController { public function actionError() { $exception = Yii::$app->errorHandler->exception; if ($exception !== null) return ['exception' => $exception...