Spec-Zone.ru › Yii 2.0

Класс 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() защищённый метод

См. также:

  • yii\base\Model::fields()
  • yii\base\Model::extraFields()
защищённый массив 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API