@@ -202,7 +202,8 @@ A custom Name Converter can handle such cases::
202
202
203
203
public function denormalize($propertyName)
204
204
{
205
- return substr($propertyName, 4);
205
+ // remove org_ prefix
206
+ return 'org_' === substr($propertyName, 0, 4) ? substr($propertyName, 4) : $propertyName;
206
207
}
207
208
}
208
209
@@ -246,32 +247,32 @@ Symfony provides a built-in Name Converter designed to translate between
246
247
snake_case and CamelCased styles during serialization and deserialization
247
248
processes::
248
249
249
- use Symfony\Component\Serializer\NameConverter\CamelCaseToUnderscoreNameConverter ;
250
+ use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter ;
250
251
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
251
252
252
- $normalizer = new GetSetMethodNormalizer(null, new CamelCaseToUnderscoreNameConverter ());
253
+ $normalizer = new GetSetMethodNormalizer(null, new CamelCaseToSnakeCaseNameConverter ());
253
254
254
255
class Person
255
256
{
256
- private $givenName ;
257
+ private $firstName ;
257
258
258
- public function __construct($givenName )
259
+ public function __construct($firstName )
259
260
{
260
- $this->givenName = $givenName ;
261
+ $this->firstName = $firstName ;
261
262
}
262
263
263
- public function getGivenName ()
264
+ public function getFirstName ()
264
265
{
265
- return $this->givenName ;
266
+ return $this->firstName ;
266
267
}
267
268
}
268
269
269
270
$kevin = new Person('Kévin');
270
271
$normalizer->normalize($kevin);
271
- // ['given_name ' => 'Kévin'];
272
+ // ['first_name ' => 'Kévin'];
272
273
273
- $anne = $normalizer->denormalize(array('given_name ' => 'Anne'), 'Person');
274
- // Person object with givenName : 'Anne'
274
+ $anne = $normalizer->denormalize(array('first_name ' => 'Anne'), 'Person');
275
+ // Person object with firstName : 'Anne'
275
276
276
277
Serializing Boolean Attributes
277
278
------------------------------
0 commit comments