Я пытаюсь использовать Serialize с обратными вызовами, как в https://symfony.com/doc/current/components/serializer.html#using -callbacks-to-serialize-properties-with-object-databases . Но это не похоже на go в обратном вызове. Я могу игнорировать атрибуты с «IGNORED_ATTRIBUTES» нормально, просто CALLBACKS не работает. Что я делаю неправильно?
$dateCallback = function ($innerObject, $outerObject, string $attributeName, string $format = null, array $context = []) {
dump('foo');
return 'faa';
};
$defaultContext = [
AbstractNormalizer::CALLBACKS => [
'order_date' => $dateCallback,
]
];
$normalizer = new ObjectNormalizer(null, null, null, null, null, null, $defaultContext);
$serializer = new Serializer([$normalizer], []);
$order = $serializer->denormalize($data, Orderform::class, 'array');
Данные представляют собой простой массив.
$data = ['order_date' => '2020-07-07',
'order_number' => '123'];
Я ожидал, что будет вызвана функция $ dateCallback. Но, похоже, этого не происходит. Сущность Orderform заполняется, но не со значением, которое я ожидал бы от обратного вызова. Я также пробовал сделать все это с помощью json и xml, поскольку массив не отображается в документации (но он работает, кроме обратного вызова)
Symfony 4.4