GetSetMethodNormalizer
class GetSetMethodNormalizer extends AbstractNormalizer
Преобразует объекты с методами getter и setter в массивы и обратно.
Процесс нормализации рассматривает все публичные методы и вызывает те, имена которых начинаются с get и не принимают параметров. Результатом является карта, где имена свойств (имя метода без префикса get и преобразованное в нижний регистр) сопоставлены со значениями свойств. Значения свойств нормализуются через сериализатор.
Процесс денормализации сначала проверяет конструктор заданного класса, чтобы убедиться, что какие-либо параметры имеют такое же имя, как и одно из свойств. Затем конструктор вызывается со всеми параметрами или выбрасывается исключение, если какие-либо необходимые параметры отсутствуют как свойства. Затем денормализатор проходит по заданной карте имен свойств к значениям свойств, чтобы проверить, существует ли метод setter для любого из свойств. Если метод setter существует, он вызывается со значением свойства. Автоматическая денормализация значения не происходит.
Постоянные значения
| CIRCULAR_REFERENCE_LIMIT | |
| OBJECT_TO_POPULATE | |
| GROUPS |
Методы
| setSerializer(SerializerInterface $serializer) Устанавливает объект Serializer. | из SerializerAwareNormalizer | |
| __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 |
| AbstractNormalizer | setCamelizedAttributes(array $camelizedAttributes) устаревший Установить атрибуты для применения camelCase при денормализации. | из AbstractNormalizer |
| массив|скаляр | normalize(object $object, string $format = null, array $context = array()) Нормализует объект в набор массивов/скаляров. | |
| объект | denormalize(mixed $data, string $class, string $format = null, array $context = array()) Денормализует данные обратно в объект заданного класса. | |
| bool | supportsNormalization(mixed $data, string $format = null) Проверяет, поддерживается ли данный класс для нормализации этим нормализатором. | |
| bool | supportsDenormalization(mixed $data, string $type, string $format = null) Проверяет, поддерживается ли данный класс для денормализации этим нормализатором. |
Подробности
setSerializer(SerializerInterface $serializer)
Устанавливает владелец объекта Serializer.
Параметры
| SerializerInterface | $serializer |
__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 |
Исключения
| InvalidArgumentException |
AbstractNormalizer setCallbacks(array $callbacks)
Устанавливает обратные вызовы нормализации.
Параметры
| array | $callbacks | помогает нормализовать результат |
Возвращаемое значение
| AbstractNormalizer |
Исключения
| InvalidArgumentException | если обратный вызов не является вызываемым |
AbstractNormalizer setIgnoredAttributes(array $ignoredAttributes)
Устанавливает игнорируемые атрибуты для нормализации и денормализации.
Параметры
| array | $ignoredAttributes |
Возвращаемое значение
| AbstractNormalizer |
AbstractNormalizer setCamelizedAttributes(array $camelizedAttributes) deprecated
deprecated
Устанавливает атрибуты, которые должны быть приведены к верхнему регистру при денормализации.
Параметры
| array | $camelizedAttributes |
Возвращаемое значение
| AbstractNormalizer |
Исключения
| LogicException |
array|scalar normalize(object $object, string $format = null, array $context = array())
Нормализует объект в набор массивов/скаляров.
Параметры
| object | $object | объект для нормализации |
| string | $format | формат, в котором будет закодирован результат нормализации |
| array | $context | Параметры контекста для нормализатора |
Возвращаемое значение
| array|scalar |
object denormalize(mixed $data, string $class, string $format = null, array $context = array())
Денормализует данные обратно в объект заданного класса.
Параметры
| mixed | $data | данные для восстановления |
| string | $class | ожидаемый класс для создания объекта |
| string | $format | формат, из которого были извлечены данные |
| array | $context | параметры, доступные денормализатору |
Возвращаемое значение
| object |
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 |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.8/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html