Spec-Zone.ru › Symfony 3.3

GetSetMethodNormalizer

class GetSetMethodNormalizer extends AbstractObjectNormalizer

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

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

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

Свойства

SerializerAwareTrait Свойство SerializerAware.

Константы

CIRCULAR_REFERENCE_LIMIT
OBJECT_TO_POPULATE
GROUPS
ATTRIBUTES
ALLOW_EXTRA_ATTRIBUTES
ENABLE_MAX_DEPTH
DEPTH_KEY_PATTERN

Методы

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.3/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html

Spec-Zone.ru

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