GetSetMethodNormalizer
class GetSetMethodNormalizer extends AbstractObjectNormalizer
Преобразует объекты с методами getter и setter в массивы и обратно.
Процесс нормализации изучает все публичные методы и вызывает те, имена которых начинаются с «get» и не принимают параметров. Результатом является карта, где ключами являются имена свойств (имя метода без префикса «get» и с маленькой буквой), а значениями — значения свойств. Значения свойств нормализуются с помощью сериализатора.
Процесс денормализации сначала проверяет конструктор данного класса, чтобы определить, имеют ли какие-либо параметры одинаковые имена со свойствами. Затем конструктор вызывается со всеми параметрами, или же генерируется исключение, если какие-либо необходимые параметры отсутствуют среди свойств. Далее денормализатор проходит по карте имен свойств и их значений, чтобы проверить, существует ли метод setter для каждого из свойств. Если метод setter существует, он вызывается со значением свойства. Автоматическая денормализация значения не выполняется.
Свойства
| SerializerAwareTrait | Свойство SerializerAware. |
Константы
| CIRCULAR_REFERENCE_LIMIT | |
| OBJECT_TO_POPULATE | |
| GROUPS | |
| 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 |
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 |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.1/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.html