Code: Select all
[
'first_name_in_other_language' => 'value',
'last_name_in_other_language' => 'value',
...more fields
]
Code: Select all
class Person {private $firstName; private $lastName; ...more fields}
erstellen
Code: Select all
['first_name_in_other_language' => 'firstName']
Vielleicht liegt es daran, dass dieses Problem eher mit Hydrator als mit Serializer zusammenhängt?
Ich finde dort diesen Codeabschnitt von Zend Hydrator und es sieht so aus, als würde er die Funktion unterstützen, die ich brauche (
Code: Select all
new MapNamingStrategy(['published' => 'isPublished'])Code: Select all
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);
Mobile version