GetSetMethodNormalizer
class GetSetMethodNormalizer extends AbstractObjectNormalizer
Преобразует объекты с методами getter и setter в массивы и обратно.
Процесс нормализации рассматривает все публичные методы и вызывает те, имена которых начинаются с get и не принимают параметров. Результатом является отображение имен свойств (имя метода без префикса get и с маленькой первой буквой) к значениям свойств. Значения свойств нормализуются с помощью сериализатора.
Денермализация сначала проверяет конструктор данного класса, чтобы увидеть, имеют ли какие-либо параметры те же имена, что и одно из свойств. Затем конструктор вызывается со всеми параметрами, или же выбрасывается исключение, если какие-либо необходимые параметры отсутствуют в качестве свойств. Затем денермализатор проходит по заданному отображению имен свойств к значениям свойств, чтобы определить, существует ли метод setter для одного из свойств. Если setter существует, он вызывается со значением свойства. Автоматическая денермализация значения не происходит.
Свойства
| SerializerAwareTrait | Свойство SerializerAware. |
Константы
| CIRCULAR_REFERENCE_LIMIT | |
| OBJECT_TO_POPULATE | |
| GROUPS | |
| ATTRIBUTES | |
| ALLOW_EXTRA_ATTRIBUTES | |
| ENABLE_MAX_DEPTH | |
| DEPTH_KEY_PATTERN |
Методы
| 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.3/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html