Код: Выделить всё
[
'first_name_in_other_language' => 'value',
'last_name_in_other_language' => 'value',
...more fields
]
Код: Выделить всё
class Person {private $firstName; private $lastName; ...more fields}
Код: Выделить всё
['first_name_in_other_language' => 'firstName']
Может быть, это потому, что эта проблема больше связана с гидратором, чем с сериализатором?
Я нашел там этот кусок кода из zend гидратора, и похоже, что он поддерживает функцию, которая мне нужна (
Код: Выделить всё
new MapNamingStrategy(['published' => 'isPublished'])Код: Выделить всё
use Acme\Transaction;
use Zend\Hydrator\NamingStrategy\CompositeNamingStrategy;
use Zend\Hydrator\NamingStrategy\MapNamingStrategy;
use Zend\Hydrator\NamingStrategy\UnderscoreNamingStrategy;
use Zend\Hydrator\ObjectProperty as ObjectPropertyHydrator;
$underscoreNamingStrategy = new UnderscoreNamingStrategy();
$namingStrategy = new CompositeNamingStrategy([
'isPublished' => new MapNamingStrategy(['published' => 'isPublished']),
'publishedOn' => $underscoreNamingStrategy,
'updatedOn' => $underscoreNamingStrategy,
]);
$hydrator = new ObjectPropertyHydrator();
$hydrator->setNamingStrategy($namingStrategy);
$data = $hydrator->extract($transaction);
Подробнее здесь: https://stackoverflow.com/questions/536 ... each-field
Мобильная версия