Spec-Zone.ru › Symfony 4.1
GetSetMethodNormalizer class GetSetMethodNormalizer extends AbstractObjectNormalizer
Преобразует объекты с методами getter и setter и массивы.
Процесс нормализации рассматривает все публичные методы и вызывает те, которые начинаются с get и не принимают параметров. Результатом является карта, где имена свойств (имя метода, из которого удален префикс get и преобразованный в нижний регистр) сопоставлены со значениями свойств. Значения свойств нормализуются с помощью сериализатора.
Денормализация сначала проверяет конструктор данного класса, чтобы определить, есть ли у параметров такие же имена, как у некоторых свойств. Затем конструктор вызывается со всеми параметрами, или выбрасывается исключение, если некоторые необходимые параметры отсутствуют в качестве свойств. После этого денормализатор проходит по данной карте, сопоставляющей имена свойств со значениями свойств, чтобы определить, существует ли метод setter для какого-либо из свойств. Если setter существует, он вызывается со значением свойства. Автоматической денормализации значения не происходит.
Свойства Постоянные значения CIRCULAR_REFERENCE_LIMIT OBJECT_TO_POPULATE GROUPS ATTRIBUTES ALLOW_EXTRA_ATTRIBUTES DEFAULT_CONSTRUCTOR_ARGUMENTS ENABLE_MAX_DEPTH DEPTH_KEY_PATTERN DISABLE_TYPE_ENFORCEMENT
Свойства Методы object|null extractObjectToPopulate (string $class, array $context, string $key = null) Извлечь поле object_to_populate из контекста, если оно существует и является экземпляром указанного класса $class.
from ObjectToPopulateTrait setSerializer (SerializerInterface $serializer) Устанавливает сериализатор.
from SerializerAwareTrait __construct (ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null, ClassDiscriminatorResolverInterface $classDiscriminatorResolver = null) Устанавливает {@link ClassMetadataFactoryInterface} для использования.
from AbstractObjectNormalizer AbstractNormalizer setCircularReferenceLimit (int $circularReferenceLimit) Устанавливает предел циклической ссылки.
from AbstractNormalizer AbstractNormalizer setCircularReferenceHandler (callable $circularReferenceHandler) Устанавливает обработчик циклических ссылок.
from AbstractNormalizer AbstractNormalizer setCallbacks (array $callbacks) Устанавливает коллбеки нормализации.
from AbstractNormalizer AbstractNormalizer setIgnoredAttributes (array $ignoredAttributes) Устанавливает игнорируемые атрибуты для нормализации и денормализации.
from AbstractNormalizer bool hasCacheableSupportsMethod ()
bool isCircularReference (object $object, array $context) Определяет, достигнут ли предел циклической ссылки.
from AbstractNormalizer mixed handleCircularReference (object $object) Обрабатывает циклическую ссылку.
from AbstractNormalizer string[]|AttributeMetadataInterface []|bool getAllowedAttributes (string|object $classOrObject, array $context, bool $attributesAsString = false) Получает атрибуты для нормализации с использованием групп.
from AbstractNormalizer bool isAllowedAttribute (object|string $classOrObject, string $attribute, string|null $format = null, array $context = array()) Разрешен ли данный атрибут?
from AbstractNormalizer array prepareForDenormalization (object|array $data) Нормализует данные в массив. Это особенно полезно во время процесса денормализации.
from AbstractNormalizer ReflectionMethod |null getConstructor (array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes) Возвращает метод, используемый для создания объекта. Этот метод должен быть конструктором объекта или статическим.
from AbstractNormalizer object instantiateObject (array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null) Создает объект, используя параметры конструктора при необходимости.
from AbstractObjectNormalizer array createChildContext (array $parentContext, string $attribute) from AbstractNormalizer bool supportsNormalization (mixed $data, string $format = null) Проверяет, поддерживается ли данный класс для нормализации этим нормализатором.
array|string|int|float|bool normalize (mixed $object, string $format = null, array $context = array()) Нормализует объект в набор массивов/скаляров.
from AbstractObjectNormalizer string[] getAttributes (object $object, string|null $format = null, array $context) Получает и кэширует атрибуты для данного объекта, формата и контекста.
from AbstractObjectNormalizer 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) Устанавливает функцию-обработчик, которая будет вызвана при достижении максимальной глубины.
from AbstractObjectNormalizer bool supportsDenormalization (mixed $data, string $type, string $format = null) Проверяет, поддерживается ли данный класс для денормализации этим нормализатором.
object denormalize (mixed $data, string $class, string $format = null, array $context = array()) Денормализует данные обратно в объект заданного класса.
from AbstractObjectNormalizer setAttributeValue (object $object, string $attribute, mixed $value, string|null $format = null, array $context = array()) Устанавливает значение атрибута.
Details Извлечь поле 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. Этот объект удаляется из контекста перед возвратом, чтобы избежать побочных эффектов при рекурсивной нормализации графа объектов.
Параметры массив $data строка $class массив $context ReflectionClass $reflectionClass массив или булево значение $allowedAttributes строка $format
Возвращаемое значение Исключения protected массив
createChildContext(массив $parentContext, строка $attribute)
Параметры массив $parentContext строка $attribute
Возвращаемое значение bool
supportsNormalization(смешанный тип $data, строка $format = null)
Проверяет, поддерживается ли данный класс для нормализации этим нормализатором.
Параметры смешанный тип $data Данные для нормализации строка $format Формат, из которого (или в который) происходит (де)сериализация
Возвращаемое значение массив|строка|целое число|число с плавающей точкой|булево значение
normalize(смешанный тип $object, строка $format = null, массив $context = массив())
Нормализует объект в набор массивов/скаляров.
Параметры смешанный тип $object Объект для нормализации строка $format Формат, в который будет закодирован результат нормализации массив $context Параметры контекста для нормализатора
Возвращаемое значение массив|строка|целое число|число с плавающей точкой|булево значение
Исключения InvalidArgumentException Возникает, когда предоставленный объект не является предполагаемым типом для нормализатора CircularReferenceException Возникает, когда нормализатор обнаруживает циклическую ссылку, которую обработчик циклических ссылок не может исправить LogicException Возникает, когда нормализатор не вызывается в ожидаемом контексте
protected строка[]
getAttributes(объект $object, строка|null $format = null, массив $context)
Получает и кэширует атрибуты для данного объекта, формата и контекста.
Параметры объект $object строка|null $format массив $context
Возвращаемое значение Извлекает атрибуты для нормализации из класса данного объекта, формата и контекста.
Параметры объект $object строка|null $format массив $context
Возвращаемое значение protected смешанный тип
getAttributeValue(объект $object, строка $attribute, строка|null $format = null, массив $context = массив())
Получает значение атрибута.
Параметры объект $object строка $attribute строка|null $format массив $context
Возвращаемое значение void
setMaxDepthHandler(вызов функции|null $handler)
Устанавливает обработчик функции, который будет вызываться при достижении максимальной глубины.
Параметры вызов функции|null $handler
Возвращаемое значение bool
supportsDenormalization(смешанный тип $data, строка $type, строка $format = null)
Проверяет, поддерживается ли данный класс для денормализации этим нормализатором.
Параметры смешанный тип $data Данные для денормализации строка $type Класс, в который должны быть денормализованы данные строка $format Формат, из которого происходит десериализация
Возвращаемое значение объект
denormalize(смешанный тип $data, строка $class, строка $format = null, массив $context = массив())
Денормализует данные обратно в объект данного класса.
Параметры смешанный тип $data Данные для восстановления строка $class Ожидаемый класс для создания экземпляра строка $format Формат, из которого были извлечены данные массив $context Параметры, доступные денормализатору
Возвращаемое значение Исключения protected
setAttributeValue(объект $object, строка $attribute, смешанный тип $value, строка|null $format = null, массив $context = массив())
Устанавливает значение атрибута.
Параметры объект $object строка $attribute смешанный тип $value строка|null $format массив $context