Класс yii\rest\Serializer
| Наследование | yii\rest\Serializer » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/rest/Serializer.php |
Serializer преобразует объекты ресурсов и коллекции в массив.
Serializer в основном используется контроллерами REST для преобразования различных объектов в представление массива, чтобы они могли быть дополнительно преобразованы в различные форматы, такие как JSON, XML, с помощью форматирователей ответов.
Стандартная реализация обрабатывает ресурсы как объекты yii\base\Model, а коллекции — как объекты, реализующие yii\data\DataProviderInterface. Вы можете переопределить serialize() для обработки других типов.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список прикрепленных к этому компоненту поведений | yii\base\Component |
| $collectionEnvelope | string | Имя обертки (например, items) для возвращения объектов ресурсов в коллекции. | yii\rest\Serializer |
| $currentPageHeader | string | Имя HTTP-заголовка, содержащего информацию о номере текущей страницы (с 1). | yii\rest\Serializer |
| $expandParam | string | Имя параметра запроса, содержащего информацию о том, какие поля должны быть возвращены помимо тех, которые перечислены в $fieldsParam, для объекта ресурса. | yii\rest\Serializer |
| $fieldsParam | string | Имя параметра запроса, содержащего информацию о том, какие поля должны быть возвращены для объекта yii\base\Model. | yii\rest\Serializer |
| $linksEnvelope | string | Имя обертки (например, _links) для возвращения объектов ссылок. | yii\rest\Serializer |
| $metaEnvelope | string | Имя обертки (например, _meta) для возвращения объекта пагинации. | yii\rest\Serializer |
| $pageCountHeader | string | Имя HTTP-заголовка, содержащего информацию о общем количестве страниц данных. | yii\rest\Serializer |
| $perPageHeader | string | Имя HTTP-заголовка, содержащего информацию о количестве элементов данных на каждой странице. | yii\rest\Serializer |
| $preserveKeys | boolean | Сохранять ли ключи массива при сериализации данных коллекции. | yii\rest\Serializer |
| $request | yii\web\Request | Текущий запрос. | yii\rest\Serializer |
| $response | yii\web\Response | Ответ, который будет отправлен. | yii\rest\Serializer |
| $totalCountHeader | string | Имя HTTP-заголовка, содержащего информацию о общем количестве элементов данных. | yii\rest\Serializer |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т. е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| attachBehavior() | Прикрепляет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен действовать данный компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\rest\Serializer |
| off() | Отсоединяет существующий обработчик событий от данного компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| serialize() | Сериализует заданные данные в формат, который легко можно преобразовать в другие форматы. | yii\rest\Serializer |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| addPaginationHeaders() | Добавляет HTTP-заголовки о постраничном отображении в ответ. | yii\rest\Serializer |
| getRequestedFields() | yii\rest\Serializer | |
| serializeDataProvider() | Сериализует поставщик данных. | yii\rest\Serializer |
| serializeModel() | Сериализует объект модели. | yii\rest\Serializer |
| serializeModelErrors() | Сериализует ошибки валидации модели. | yii\rest\Serializer |
| serializeModels() | Сериализует набор моделей. | yii\rest\Serializer |
| serializePagination() | Сериализует постраничное отображение в массив. | yii\rest\Serializer |
Подробное описание свойств
$collectionEnvelope общедоступное свойство
Имя конверта (например, items) для возврата объектов ресурсов в коллекции. Используется при предоставлении коллекции ресурсов. Если это свойство установлено, и постраничное отображение включено, сериализатор вернет коллекцию в следующем формате:
[
'items' => [...], // assuming collectionEnvelope is "items"
'_links' => { // pagination links as returned by Pagination::getLinks()
'self' => '...',
'next' => '...',
'last' => '...',
},
'_meta' => { // meta information as returned by Pagination::toArray()
'totalCount' => 100,
'pageCount' => 5,
'currentPage' => 1,
'perPage' => 20,
},
]
Если это свойство не установлено, массивы ресурсов будут возвращены непосредственно без использования конверта. Информацию о постраничном отображении, как показано в _links и _meta, можно получить из заголовков ответа HTTP.
public string $collectionEnvelope = null
$currentPageHeader общедоступное свойство
Имя HTTP-заголовка, содержащего информацию о текущем номере страницы (1-основанная). Используется при предоставлении коллекции ресурсов с постраничным отображением.
public string $currentPageHeader = 'X-Pagination-Current-Page'
$expandParam общедоступное свойство
Имя параметра запроса, содержащего информацию о том, какие поля должны быть возвращены помимо тех, которые указаны в $fieldsParam для объекта ресурса.
public string $expandParam = 'expand'
$fieldsParam общедоступное свойство
Имя параметра запроса, содержащего информацию о том, какие поля должны быть возвращены для объекта yii\base\Model. Если параметр не указан или пуст, будет возвращен стандартный набор полей, определенный в yii\base\Model::fields().
public string $fieldsParam = 'fields'
$linksEnvelope общедоступное свойство (доступно с версии 2.0.4)
Имя конверта (например, _links) для возврата объектов ссылок. Действует только, если collectionEnvelope установлено.
public string $linksEnvelope = '_links'
$metaEnvelope общедоступное свойство (доступно с версии 2.0.4)
Имя конверта (например, _meta) для возврата объекта постраничного отображения. Действует только, если collectionEnvelope установлено.
public string $metaEnvelope = '_meta'
$pageCountHeader общедоступное свойство
Имя HTTP-заголовка, содержащего информацию о общем количестве страниц данных. Используется при предоставлении коллекции ресурсов с постраничным отображением.
public string $pageCountHeader = 'X-Pagination-Page-Count'
$perPageHeader общедоступное свойство
Имя HTTP-заголовка, содержащего информацию о количестве элементов данных на каждой странице. Используется при предоставлении коллекции ресурсов с постраничным отображением.
public string $perPageHeader = 'X-Pagination-Per-Page'
$preserveKeys общедоступное свойство (доступно с версии 2.0.10)
Сохранять ли ключи массива при сериализации данных коллекции. Установите это в true для сериализации коллекции как JSON-объекта, где ключи массива используются для индексации объектов модели. По умолчанию все коллекции сериализуются как массивы, независимо от того, как индексируется массив.
См. также serializeDataProvider().
public boolean $preserveKeys = false
$request общедоступное свойство
Текущий запрос. Если не задано, будет использован компонент приложения request.
public yii\web\Request $request = null
$response общедоступное свойство
Ответ, который нужно отправить. Если не задан, будет использован компонент приложения response.
public yii\web\Response $response = null
$totalCountHeader общественное свойство
Имя HTTP-заголовка, содержащего информацию о полном количестве элементов данных. Используется при представлении ресурса коллекции с постраничной навигацией.
public string $totalCountHeader = 'X-Pagination-Total-Count'
Подробное описание методов
addPaginationHeaders() защищённый метод
Добавляет HTTP-заголовки о постраничной навигации в ответ.
| защищённый void addPaginationHeaders ( $pagination ) | ||
|---|---|---|
| $pagination | yii\data\Pagination | |
getRequestedFields() защищённый метод
См. также:
| защищённый массив getRequestedFields ( ) | ||
|---|---|---|
| return | массив |
Имена запрошенных полей. Первый элемент — массив, представляющий список запрошенных по умолчанию полей, а второй — массив дополнительных полей, запрошенных помимо полей по умолчанию. |
init() общественный метод
Инициализирует объект.
Этот метод вызывается в конце конструктора после инициализации объекта с заданной конфигурацией.
| общественный void init ( ) |
|---|
serialize() общественный метод
Сериализует заданные данные в формат, который можно легко преобразовать в другие форматы.
Этот метод в основном преобразует объекты распознанных типов в представление массива. Он не будет выполнять преобразование для неизвестных типов объектов или не-объектных данных. По умолчанию он обрабатывает yii\base\Model и yii\data\DataProviderInterface. Вы можете переопределить этот метод, чтобы поддержать больше типов объектов.
| общественный смешанный serialize ( $data ) | ||
|---|---|---|
| $data | смешанный |
Данные, которые нужно сериализовать. |
| return | смешанный |
Преобразованные данные. |
serializeDataProvider() защищённый метод
Сериализует поставщик данных.
| защищённый массив serializeDataProvider ( $dataProvider ) | ||
|---|---|---|
| $dataProvider | yii\data\DataProviderInterface | |
| return | массив |
Представление поставщика данных в виде массива. |
serializeModel() защищённый метод
Сериализует объект модели.
| защищённый массив serializeModel ( $model ) | ||
|---|---|---|
| $model | yii\base\Arrayable | |
| return | массив |
Представление модели в виде массива. |
serializeModelErrors() защищённый метод
Сериализует ошибки валидации в модели.
| защищённый массив serializeModelErrors ( $model ) | ||
|---|---|---|
| $model | yii\base\Model | |
| return | массив |
Представление ошибок в виде массива. |
serializeModels() защищённый метод
Сериализует набор моделей.
| защищённый массив serializeModels ( массив $models ) | ||
|---|---|---|
| $models | массив | |
| return | массив |
Представление моделей в виде массива. |
serializePagination() защищённый метод
Сериализует постраничную навигацию в массив.
См. также addPaginationHeaders().
| защищённый массив serializePagination ( $pagination ) | ||
|---|---|---|
| $pagination | yii\data\Pagination | |
| return | массив |
Представление постраничной навигации в виде массива. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-rest-serializer.html