GetSetMethodNormalizer
class GetSetMethodNormalizer extends AbstractObjectNormalizer
Преобразует объекты с методами getter и setter в массивы и обратно.
Процесс нормализации проверяет все публичные методы и вызывает те, чьи имена начинаются с get и не принимают параметров. Результатом является отображение от имён свойств (имя метода без префикса get и в нижнем регистре) к значениям свойств. Значения свойств нормализуются через сериализатор.
Денормализация сначала проверяет конструктор данного класса, чтобы определить, имеют ли какие-либо параметры то же имя, что и одно из свойств. Затем конструктор вызывается со всеми параметрами, или выбрасывается исключение, если какие-либо необходимые параметры отсутствуют в качестве свойств. Затем денормализатор проходит по заданному отображению имён свойств и их значений, чтобы проверить, существует ли метод setter для какого-либо из свойств. Если setter существует, он вызывается со значением свойства. Автоматическая денормализация значения не происходит.
Особенности
| ObjectToPopulateTrait | |
| SerializerAwareTrait | Особенность SerializerAware. |
Константы
| CIRCULAR_REFERENCE_LIMIT | |
| OBJECT_TO_POPULATE | |
| GROUPS | |
| ATTRIBUTES | |
| ALLOW_EXTRA_ATTRIBUTES | |
| ENABLE_MAX_DEPTH | |
| DEPTH_KEY_PATTERN | |
| DISABLE_TYPE_ENFORCEMENT |
Методы
| setSerializer(SerializerInterface $serializer) Устанавливает сериализатор. | из SerializerAwareTrait | |
| __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null) Устанавливает используемый {@link ClassMetadataFactoryInterface}. | из AbstractObjectNormalizer | |
| AbstractNormalizer | setCircularReferenceLimit(int $circularReferenceLimit) Устанавливает предел для циклических ссылок. | из AbstractNormalizer |
| AbstractNormalizer | setCircularReferenceHandler(callable $circularReferenceHandler) Устанавливает обработчик циклических ссылок. | из AbstractNormalizer |
| AbstractNormalizer | setCallbacks(array $callbacks) Устанавливает коллбэки нормализации. | из AbstractNormalizer |
| AbstractNormalizer | setIgnoredAttributes(array $ignoredAttributes) Устанавливает игнорируемые атрибуты для нормализации и денормализации. | из AbstractNormalizer |
| bool | supportsNormalization(mixed $data, string $format = null) Проверяет, поддерживается ли данный класс для нормализации этим нормализатором. | |
| array|scalar | normalize(object $object, string $format = null, array $context = array()) Нормализует объект в набор массивов/скаляров. | из AbstractObjectNormalizer |
| bool | supportsDenormalization(mixed $data, string $type, string $format = null) Проверяет, поддерживается ли данный класс для денормализации этим нормализатором. | |
| object | denormalize(mixed $data, string $class, string $format = null, array $context = array()) Денормализует данные обратно в объект заданного класса. | из AbstractObjectNormalizer |
Подробности
setSerializer(SerializerInterface $serializer)
Устанавливает сериализатор.
Параметры
| SerializerInterface | $serializer | Экземпляр SerializerInterface |
__construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null)
Устанавливает {@link ClassMetadataFactoryInterface} для использования.
Параметры
| ClassMetadataFactoryInterface | $classMetadataFactory | |
| NameConverterInterface | $nameConverter | |
| PropertyTypeExtractorInterface | $propertyTypeExtractor |
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 supportsNormalization(mixed $data, string $format = null)
Проверяет, поддерживается ли данный класс для нормализации этим нормализатором.
Параметры
| mixed | $data | Данные для нормализации |
| string | $format | Формат, из которого (или в который) происходит (де-)сериализация |
Возвращаемое значение
| bool |
array|scalar normalize(object $object, string $format = null, array $context = array())
Нормализует объект в набор массивов/скаляров.
Параметры
| object | $object | Объект для нормализации |
| string | $format | Формат, в котором будет закодирован результат нормализации |
| array | $context | Параметры контекста для нормализатора |
Возвращаемое значение
| array|scalar |
Исключения
| InvalidArgumentException | Возникает, когда переданный объект не является ожидаемым типом для нормализатора |
| CircularReferenceException | Возникает, когда нормализатор обнаруживает циклическую ссылку, которую не может исправить обработчик циклических ссылок |
| LogicException | Возникает, когда нормализатор не вызывается в ожидаемом контексте |
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.
http://api.symfony.com/3.4/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html