Пример #1
0
 /**
  * @inheritdoc
  */
 public function init()
 {
     parent::init();
     if (!Yii::$app instanceof Application) {
         return;
     }
     Event::on(Controller::className(), 'beforeAction', [$this, 'beforeActionAccess']);
     if ($this->removeDeniedLinks) {
         Event::on(Response::className(), 'afterPrepare', [$this, 'responseAfterPrepare']);
     }
 }
Пример #2
0
 protected function response()
 {
     // Setting default format of response is json.
     Yii::$app->response->format = Response::FORMAT_JSON;
     Event::on(Response::className(), Response::EVENT_BEFORE_SEND, function ($event) {
         // Clean output.
         for ($level = ob_get_level(); $level > 0; --$level) {
             if (!@ob_end_clean()) {
                 ob_clean();
             }
         }
         /* @var $response \yii\web\Response */
         /* @var $event \yii\base\Event */
         $response = $event->sender;
     });
 }
Пример #3
0
<?php

$params = array_merge(require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require __DIR__ . '/params.php', require __DIR__ . '/params-local.php');
return ['id' => 'app-api', 'basePath' => dirname(__DIR__), 'controllerNamespace' => 'api\\controllers', 'bootstrap' => ['log'], 'defaultRoute' => 'v1/default', 'modules' => ['v1' => ['basePath' => '@app/modules/v1', 'class' => \api\modules\v1\Module::className()]], 'bootstrap' => [['class' => \yii\filters\ContentNegotiator::className(), 'formats' => ['application/json' => \yii\web\Response::FORMAT_JSON, 'application/xml' => \yii\web\Response::FORMAT_XML]]], 'components' => ['log' => ['traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [['class' => 'yii\\log\\FileTarget', 'levels' => ['error', 'warning']]]], 'urlManager' => ['rules' => ['<controller:\\w+>/<id:[\\d\\-]+>' => 'v1/<controller>/view', '<controller:\\w+>/<action:\\w+>/<id:[\\d\\-]+>' => 'v1/<controller>/<action>', '<controller:\\w+>/<action:\\w+>' => 'v1/<controller>/<action>']], 'response' => ['class' => \yii\web\Response::className(), 'on beforeSend' => function ($event) {
    $response = $event->sender;
    if ($response->data !== null && ($exception = Yii::$app->getErrorHandler()->exception) !== null) {
        $response->data = ['error' => $response->data];
    }
}]], 'params' => $params];
Пример #4
0
 /**
  * @inheritdoc
  */
 public function run()
 {
     $m = Yii::$app->getModule(Module::MODULE);
     $out = $this->validateEditable();
     unset($m);
     return Yii::createObject(['class' => Response::className(), 'format' => Response::FORMAT_JSON, 'data' => $out]);
 }