Spec-Zone.ru › Symfony 4.1

JsonSerializableNormalizer

class JsonSerializableNormalizer extends AbstractNormalizer

A normalizer that uses an objects own JsonSerializable implementation.

Свойства

ObjectToPopulateTrait
SerializerAwareTrait SerializerAware trait.

Константы

CIRCULAR_REFERENCE_LIMIT
OBJECT_TO_POPULATE
GROUPS
ATTRIBUTES
ALLOW_EXTRA_ATTRIBUTES
DEFAULT_CONSTRUCTOR_ARGUMENTS

Свойства

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

Методы

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
AbstractNormalizer setCircularReferenceLimit(int $circularReferenceLimit)

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

из AbstractNormalizer
AbstractNormalizer setCircularReferenceHandler(callable $circularReferenceHandler)

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

из AbstractNormalizer
AbstractNormalizer setCallbacks(array $callbacks)

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

из AbstractNormalizer
AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)

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

из AbstractNormalizer
bool hasCacheableSupportsMethod()
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)

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

из AbstractNormalizer
array createChildContext(array $parentContext, string $attribute) из AbstractNormalizer
array|string|int|float|bool normalize(mixed $object, string $format = null, array $context = array())

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

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

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

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

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

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

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

Подробности

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

Параметры

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

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

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

Параметры

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

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

array|string|int|float|bool

Исключения

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

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

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

Параметры

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

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

bool

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.
https://api.symfony.com/4.1/Symfony/Component/Serializer/Normalizer/JsonSerializableNormalizer.html

Spec-Zone.ru

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