Spec-Zone.ru › Symfony 3.4

GetSetMethodNormalizer

class GetSetMethodNormalizer extends AbstractObjectNormalizer

Преобразует объекты с методами getter и setter в массивы и обратно.

Процесс нормализации проверяет все публичные методы и вызывает те, чьи имена начинаются с get и не принимают параметров. Результатом является отображение от имён свойств (имя метода без префикса get и в нижнем регистре) к значениям свойств. Значения свойств нормализуются через сериализатор.

Денормализация сначала проверяет конструктор данного класса, чтобы определить, имеют ли какие-либо параметры то же имя, что и одно из свойств. Затем конструктор вызывается со всеми параметрами, или выбрасывается исключение, если какие-либо необходимые параметры отсутствуют в качестве свойств. Затем денормализатор проходит по заданному отображению имён свойств и их значений, чтобы проверить, существует ли метод setter для какого-либо из свойств. Если setter существует, он вызывается со значением свойства. Автоматическая денормализация значения не происходит.

Особенности

ObjectToPopulateTrait
SerializerAwareTrait Особенность SerializerAware.

Константы

CIRCULAR_REFERENCE_LIMIT
OBJECT_TO_POPULATE
GROUPS
ATTRIBUTES
ALLOW_EXTRA_ATTRIBUTES
ENABLE_MAX_DEPTH
DEPTH_KEY_PATTERN
DISABLE_TYPE_ENFORCEMENT

Методы

setSerializer(SerializerInterface $serializer)

Устанавливает сериализатор.

из SerializerAwareTrait
__construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null)

Устанавливает используемый {@link ClassMetadataFactoryInterface}.

из AbstractObjectNormalizer
AbstractNormalizer setCircularReferenceLimit(int $circularReferenceLimit)

Устанавливает предел для циклических ссылок.

из AbstractNormalizer
AbstractNormalizer setCircularReferenceHandler(callable $circularReferenceHandler)

Устанавливает обработчик циклических ссылок.

из AbstractNormalizer
AbstractNormalizer setCallbacks(array $callbacks)

Устанавливает коллбэки нормализации.

из AbstractNormalizer
AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)

Устанавливает игнорируемые атрибуты для нормализации и денормализации.

из AbstractNormalizer
bool supportsNormalization(mixed $data, string $format = null)

Проверяет, поддерживается ли данный класс для нормализации этим нормализатором.

array|scalar normalize(object $object, string $format = null, array $context = array())

Нормализует объект в набор массивов/скаляров.

из AbstractObjectNormalizer
bool supportsDenormalization(mixed $data, string $type, string $format = null)

Проверяет, поддерживается ли данный класс для денормализации этим нормализатором.

object denormalize(mixed $data, string $class, string $format = null, array $context = array())

Денормализует данные обратно в объект заданного класса.

из AbstractObjectNormalizer

Подробности

setSerializer(SerializerInterface $serializer)

Устанавливает сериализатор.

Параметры

SerializerInterface $serializer Экземпляр SerializerInterface

__construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null)

Устанавливает {@link ClassMetadataFactoryInterface} для использования.

Параметры

ClassMetadataFactoryInterface $classMetadataFactory
NameConverterInterface $nameConverter
PropertyTypeExtractorInterface $propertyTypeExtractor

AbstractNormalizer setCircularReferenceLimit(int $circularReferenceLimit)

Устанавливает предел для циклических ссылок.

Параметры

int $circularReferenceLimit Предел итераций для одного и того же объекта

Возвращаемое значение

AbstractNormalizer

AbstractNormalizer setCircularReferenceHandler(callable $circularReferenceHandler)

Устанавливает обработчик циклических ссылок.

Параметры

callable $circularReferenceHandler

Возвращаемое значение

AbstractNormalizer

AbstractNormalizer setCallbacks(array $callbacks)

Устанавливает колбэки для нормализации.

Параметры

array $callbacks Помогают в нормализации результата

Возвращаемое значение

AbstractNormalizer

Исключения

InvalidArgumentException если колбэк не является вызываемым

AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)

Устанавливает игнорируемые атрибуты для нормализации и денормализации.

Параметры

array $ignoredAttributes

Возвращаемое значение

AbstractNormalizer

bool supportsNormalization(mixed $data, string $format = null)

Проверяет, поддерживается ли данный класс для нормализации этим нормализатором.

Параметры

mixed $data Данные для нормализации
string $format Формат, из которого (или в который) происходит (де-)сериализация

Возвращаемое значение

bool

array|scalar normalize(object $object, string $format = null, array $context = array())

Нормализует объект в набор массивов/скаляров.

Параметры

object $object Объект для нормализации
string $format Формат, в котором будет закодирован результат нормализации
array $context Параметры контекста для нормализатора

Возвращаемое значение

array|scalar

Исключения

InvalidArgumentException Возникает, когда переданный объект не является ожидаемым типом для нормализатора
CircularReferenceException Возникает, когда нормализатор обнаруживает циклическую ссылку, которую не может исправить обработчик циклических ссылок
LogicException Возникает, когда нормализатор не вызывается в ожидаемом контексте

bool supportsDenormalization(mixed $data, string $type, string $format = null)

Проверяет, поддерживается ли данный класс для денормализации этим нормализатором.

Параметры

mixed $data Данные для денормализации
string $type Класс, в который должны быть денормализованы данные
string $format Формат, из которого происходит десериализация

Возвращаемое значение

bool

object denormalize(mixed $data, string $class, string $format = null, array $context = array())

Денормализует данные в объект заданного класса.

Параметры

mixed $data Данные для восстановления
string $class Ожидаемый класс для создания экземпляра
string $format Формат, из которого были извлечены данные
array $context Параметры, доступные денормализатору

Возвращаемое значение

object

Исключения

BadMethodCallException Возникает, когда нормализатор не вызывается в ожидаемом контексте
InvalidArgumentException Возникает, когда аргументы не согласованы или не поддерживаются
UnexpectedValueException Возникает, когда элемент не может быть обработан с данными
ExtraAttributesException Возникает, когда у элемента нет атрибута для получения данных
LogicException Возникает, когда нормализатор не должен денормализовать
RuntimeException Возникает, если класс не может быть создан

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html

Spec-Zone.ru

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