Spec-Zone.ru › Symfony 4.1

AbstractNormalizer

абстрактный класс AbstractNormalizer реализует NormalizerInterface, DenormalizerInterface, SerializerAwareInterface, CacheableSupportsMethodInterface

Реализация нормализатора.

Свойства

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

Константы

CIRCULAR_REFERENCE_LIMIT
OBJECT_TO_POPULATE
GROUPS
ATTRIBUTES
ALLOW_EXTRA_ATTRIBUTES
DEFAULT_CONSTRUCTOR_ARGUMENTS

Свойства

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

Методы

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)

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

AbstractNormalizer setCircularReferenceLimit(int $circularReferenceLimit)

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

AbstractNormalizer setCircularReferenceHandler(callable $circularReferenceHandler)

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

AbstractNormalizer setCallbacks(array $callbacks)

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

AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)

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

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

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

mixed handleCircularReference(object $object)

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

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

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

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

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

array prepareForDenormalization(object|array $data)

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

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

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

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

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

array createChildContext(array $parentContext, string $attribute)

Подробное описание

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)

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

Параметры

ClassMetadataFactoryInterface $classMetadataFactory
NameConverterInterface $nameConverter

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' ложна и не указан класс метаданных

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. Этот объект удаляется из контекста перед возвращением, чтобы избежать побочных эффектов при рекурсивной нормализации графа объектов.

Параметры

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

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

object

Исключения

RuntimeException
MissingConstructorArgumentsException

protected array createChildContext(array $parentContext, string $attribute)

Параметры

array $parentContext
string $attribute

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

array

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

Spec-Zone.ru

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