PropertyNormalizer
class PropertyNormalizer extends AbstractNormalizer
Преобразует объекты в массивы и обратно, сопоставляя свойства.
Процесс нормализации ищет все свойства объекта (публичные и приватные). Результатом является карта, где ключи — имена свойств, а значения — значения свойств. Значения свойств нормализуются с помощью сериализатора.
Процесс денормализации сначала проверяет конструктор заданного класса, чтобы определить, имеют ли какие-либо параметры те же имена, что и некоторые из свойств. Затем конструктор вызывается со всеми параметрами, или выбрасывается исключение, если какие-либо обязательные параметры отсутствуют в качестве свойств. После этого денормализатор перебирает заданную карту имен свойств и их значений, чтобы определить, существует ли свойство с соответствующим именем. Если найдено, свойству присваивается соответствующее значение.
Постоянные значения
| 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) устарело Устанавливает атрибуты для камелизаций при денормализации. | из 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) устарело
устарело
Устанавливает атрибуты, которые необходимо преобразовать в camelCase при денормализации.
Параметры
| 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.7/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.html