Spec-Zone.ru › Symfony 4.1

AbstractObjectNormalizer

абстрактный класс AbstractObjectNormalizer наследует AbstractNormalizer

Базовый класс для нормалайзера, работающего с объектами.

Свойства

ObjectToPopulateTrait
SerializerAwareTrait SerializerAware трейт.

Константы

CIRCULAR_REFERENCE_LIMIT
OBJECT_TO_POPULATE
GROUPS
ATTRIBUTES
ALLOW_EXTRA_ATTRIBUTES
DEFAULT_CONSTRUCTOR_ARGUMENTS
ENABLE_MAX_DEPTH
DEPTH_KEY_PATTERN
DISABLE_TYPE_ENFORCEMENT

Свойства

protected SerializerInterface $serializer из SerializerAwareTrait
protected int $circularReferenceLimit из AbstractNormalizer
protected callable $circularReferenceHandler из AbstractNormalizer
protected ClassMetadataFactoryInterface|null $classMetadataFactory из AbstractNormalizer
protected NameConverterInterface|null $nameConverter из AbstractNormalizer
protected array $callbacks из AbstractNormalizer
protected array $ignoredAttributes из AbstractNormalizer
protected array $camelizedAttributes из AbstractNormalizer
protected ClassDiscriminatorResolverInterface|null $classDiscriminatorResolver

Методы

object|null extractObjectToPopulate(string $class, array $context, string $key = null)

Извлечь поле object_to_populate из контекста, если оно существует и является экземпляром предоставленного класса $class.

из ObjectToPopulateTrait
setSerializer(SerializerInterface $serializer)

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

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

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

AbstractNormalizer setCircularReferenceLimit(int $circularReferenceLimit)

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

из AbstractNormalizer
AbstractNormalizer setCircularReferenceHandler(callable $circularReferenceHandler)

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

из AbstractNormalizer
AbstractNormalizer setCallbacks(array $callbacks)

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

из AbstractNormalizer
AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)

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

из AbstractNormalizer
bool hasCacheableSupportsMethod() из AbstractNormalizer
bool isCircularReference(object $object, array $context)

Определяет, достигнуто ли значение лимита циклической ссылки.

из AbstractNormalizer
mixed handleCircularReference(object $object)

Обрабатывает циклическую ссылку.

из AbstractNormalizer
string[]|AttributeMetadataInterface[]|bool getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false)

Получает атрибуты для нормализации с помощью групп.

из AbstractNormalizer
bool isAllowedAttribute(object|string $classOrObject, string $attribute, string|null $format = null, array $context = array())

Разрешен ли данный атрибут?

из AbstractNormalizer
array prepareForDenormalization(object|array $data)

Нормализует заданные данные в массив. Это особенно полезно во время процесса денормализации.

из AbstractNormalizer
ReflectionMethod|null getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes)

Возвращает метод для создания объекта. Этот метод должен быть либо конструктором объекта, либо статическим.

из AbstractNormalizer
object instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null)

Создает объект, используя параметры конструктора при необходимости.

array createChildContext(array $parentContext, string $attribute) из AbstractNormalizer
bool supportsNormalization(mixed $data, string $format = null)

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

array|string|int|float|bool normalize(mixed $object, string $format = null, array $context = array())

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

string[] getAttributes(object $object, string|null $format = null, array $context)

Получает и кэширует атрибуты для данного объекта, формата и контекста.

string[] extractAttributes(object $object, string|null $format = null, array $context = array())

Извлекает атрибуты для нормализации из класса данного объекта, формата и контекста.

mixed getAttributeValue(object $object, string $attribute, string|null $format = null, array $context = array())

Получает значение атрибута.

void setMaxDepthHandler(callable|null $handler)

Устанавливает функцию-обработчик, которая будет вызвана при достижении максимальной глубины.

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

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

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

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

setAttributeValue(object $object, string $attribute, mixed $value, string|null $format = null, array $context = array())

Устанавливает значение атрибута.

Details

protected object|null extractObjectToPopulate(string $class, array $context, string $key = null)

Извлечь поле object_to_populate из контекста, если оно существует и является экземпляром указанного класса $class.

Параметры

string $class Класс, которому должен принадлежать объект
array $context Контекст денормализации
string $key Ключ, по которому искать объект для заполнения. Сохраняет обратную совместимость с AbstractNormalizer.

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

object|null объект, если проверка пройдена, в противном случае null

setSerializer(SerializerInterface $serializer)

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

Параметры

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

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

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

Параметры

ClassMetadataFactoryInterface $classMetadataFactory
NameConverterInterface $nameConverter
PropertyTypeExtractorInterface $propertyTypeExtractor
ClassDiscriminatorResolverInterface $classDiscriminatorResolver

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 hasCacheableSupportsMethod()

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

bool

protected bool isCircularReference(object $object, array $context)

Определяет, достигнут ли предел циклических ссылок.

Параметры

object $object
array $context

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

bool

Исключения

CircularReferenceException

protected mixed handleCircularReference(object $object)

Обрабатывает циклическую ссылку.

Если обработчик циклических ссылок установлен, он будет вызван. В противном случае будет выброшено исключение {@class CircularReferenceException}.

Параметры

object $object

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

mixed

Исключения

CircularReferenceException

protected string[]|AttributeMetadataInterface[]|bool getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false)

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

Параметры

string|object $classOrObject
array $context
bool $attributesAsString Если false, возвращает массив {@link AttributeMetadataInterface}

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

string[]|AttributeMetadataInterface[]|bool

Исключения

LogicException если переменная контекста 'allow_extra_attributes' равна false и фабрика метаданных класса не предоставлена

protected bool isAllowedAttribute(object|string $classOrObject, string $attribute, string|null $format = null, array $context = array())

Разрешен ли этот атрибут?

Параметры

object|string $classOrObject
string $attribute
string|null $format
array $context

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

bool

protected array prepareForDenormalization(object|array $data)

Нормализует заданные данные в массив. Особенно полезно во время процесса денормализации.

Параметры

object|array $data

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

array

protected ReflectionMethod|null getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes)

Возвращает метод для создания объекта. Этот метод должен быть либо конструктором объекта, либо статическим.

Параметры

array $data
string $class
array $context
ReflectionClass $reflectionClass
array|bool $allowedAttributes

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

ReflectionMethod|null

protected object instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null)

Создаёт объект с использованием параметров конструктора при необходимости.

Этот метод также позволяет денормализовать данные в существующий объект, если он присутствует в контексте с объектом object_to_populate. Этот объект удаляется из контекста перед возвращением, чтобы избежать побочных эффектов при рекурсивной нормализации графа объектов.

Параметры

массив $data
строка $class
массив $context
ReflectionClass $reflectionClass
массив или bool $allowedAttributes
строка $format

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

объект

Исключения

RuntimeException
MissingConstructorArgumentsException

protected массив createChildContext(массив $parentContext, строка $attribute)

Параметры

массив $parentContext
строка $attribute

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

массив

bool supportsNormalization(смешанный $data, строка $format = null)

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

Параметры

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

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

bool

массив|строка|int|float|bool normalize(смешанный $object, строка $format = null, массив $context = массив())

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

Параметры

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

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

массив|строка|int|float|bool

Исключения

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

protected строка[] getAttributes(объект $object, строка|null $format = null, массив $context)

Получает и кэширует атрибуты для данного объекта, формата и контекста.

Параметры

объект $object
строка|null $format
массив $context

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

строка[]

abstract protected строка[] extractAttributes(объект $object, строка|null $format = null, массив $context = массив())

Извлекает атрибуты для нормализации из класса данного объекта, формата и контекста.

Параметры

объект $object
строка|null $format
массив $context

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

строка[]

abstract protected смешанный getAttributeValue(объект $object, строка $attribute, строка|null $format = null, массив $context = массив())

Получает значение атрибута.

Параметры

объект $object
строка $attribute
строка|null $format
массив $context

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

смешанный

void setMaxDepthHandler(вызываемая функция|null $handler)

Устанавливает функцию-обработчик, которая будет вызвана при достижении максимальной глубины.

Параметры

вызываемая функция|null $handler

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

void

bool supportsDenormalization(смешанный $data, строка $type, строка $format = null)

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

Параметры

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

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

bool

объект denormalize(смешанный $data, строка $class, строка $format = null, массив $context = массив())

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

Параметры

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

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

объект

Исключения

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

abstract protected setAttributeValue(объект $object, строка $attribute, смешанный $value, строка|null $format = null, массив $context = массив())

Устанавливает значение атрибута.

Параметры

объект $object
строка $attribute
смешанный $value
строка|null $format
массив $context

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.html

Spec-Zone.ru

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