/
v.bolshakov
/
AIEcosystem-Testing
Обзор
Документация
Войти
/
v.bolshakov
/
AIEcosystem-Testing
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
api/components/ApiSerializer.php
71 строка
1 KB
Developer
Initial commit
03 авг 2026, 17:43
03 авг 2026, 17:43
7433917
Код
Авторство
О чём код?
<?php namespace api\components; use common\forms\base\BaseModel; use Yii; use yii\rest\Serializer; /** * Компонент для сереализации ответа * * @author Dmitry E. Semenov <sde.tomsk@gmail.com> * @copyright Self (c) 2019 */ class ApiSerializer extends Serializer { /** * @inheritdoc */ public $collectionEnvelope = 'items'; /** * @inheritdoc */ public function serialize($data) { if ($data instanceof BaseModel) { if ($data->hasErrors()) { $result = $this->serializeModelErrors($data); } else { $result = parent::serialize($data->getModel()); } } else { $result = parent::serialize($data); } return $result; } /** * @inheritdoc */ protected function serializeModelErrors($model) { $result = parent::serializeModelErrors($model); if (YII_DEBUG) { if (Yii::$app->controller) { $result[] = [ 'route' => Yii::$app->controller->route ]; } } return $result; } /** * @inheritdoc */ protected function serializeDataProvider($dataProvider) { $result = parent::serializeDataProvider($dataProvider); if (YII_DEBUG) { $result['sql'] = $dataProvider->query->createCommand()->rawSql; } return $result; } }