Spec-Zone.ru › Symfony 4.1
JsonSerializableNormalizer class JsonSerializableNormalizer extends AbstractNormalizer
A normalizer that uses an objects own JsonSerializable implementation.
Свойства Константы CIRCULAR_REFERENCE_LIMIT OBJECT_TO_POPULATE GROUPS ATTRIBUTES ALLOW_EXTRA_ATTRIBUTES DEFAULT_CONSTRUCTOR_ARGUMENTS
Свойства Методы 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()) Денормализует данные обратно в объект данного класса.
Подробности Извлечь поле object_to_populate из контекста, если оно существует и является экземпляром указанного класса $class.
Параметры string $class Класс, которым должен быть объект array $context Контекст денормализации string $key Ключ, по которому искать объект для заполнения. Сохраняет обратную совместимость с AbstractNormalizer.
Возвращаемое значение object|null объект, если проверка пройдена, иначе null
Устанавливает сериализатор.
Параметры Устанавливает {@link ClassMetadataFactoryInterface} для использования.
Параметры AbstractNormalizer
setCircularReferenceLimit(int $circularReferenceLimit)
Установить лимит циклических ссылок.
Параметры int $circularReferenceLimit Предел итераций для одного и того же объекта
Возвращаемое значение AbstractNormalizer
setCircularReferenceHandler(callable $circularReferenceHandler)
Установить обработчик циклических ссылок.
Параметры callable $circularReferenceHandler
Возвращаемое значение Установить колбэки нормализации.
Параметры array $callbacks Помощь в нормализации результата
Возвращаемое значение Исключения AbstractNormalizer
setIgnoredAttributes(array $ignoredAttributes)
Установить игнорируемые атрибуты для нормализации и денормализации.
Параметры Возвращаемое значение bool
hasCacheableSupportsMethod()
Возвращаемое значение protected bool
isCircularReference(object $object, array $context)
Определяет, достигнут ли установленный лимит циклических ссылок.
Параметры object $object array $context
Возвращаемое значение Исключения protected mixed
handleCircularReference(object $object)
Обрабатывает циклическую ссылку.
Если обработчик циклических ссылок установлен, он будет вызван. В противном случае будет выброшено исключение {@class CircularReferenceException}.
Параметры Возвращаемое значение Исключения protected string[]|AttributeMetadataInterface []|bool
getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false)
Получение атрибутов для нормализации с использованием групп.
Параметры string|object $classOrObject array $context bool $attributesAsString Если false, возвращает массив {@link AttributeMetadataInterface}
Возвращаемое значение Исключения 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
Возвращаемое значение protected array
prepareForDenormalization(object|array $data)
Нормализует заданные данные в массив. Это особенно полезно во время процесса денормализации.
Параметры Возвращаемое значение 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
Возвращаемое значение 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
Возвращаемое значение Исключения protected array
createChildContext(array $parentContext, string $attribute)
Параметры array $parentContext string $attribute
Возвращаемое значение 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
supportsDenormalization(mixed $data, string $type, string $format = null)
Проверяет, поддерживается ли данный класс для денормализации этим нормализатором.
Параметры mixed $data Данные для денормализации string $type Класс, в который должны быть денормализованы данные string $format Формат, из которого происходит десериализация
Возвращаемое значение object
denormalize(mixed $data, string $class, string $format = null, array $context = array())
Денормализует данные обратно в объект заданного класса.
Параметры mixed $data Данные для восстановления string $class Ожидаемый класс для создания экземпляра string $format Формат, из которого были извлечены данные array $context Параметры, доступные денормализатору
Возвращаемое значение Исключения