Skip to content

Commit 24d0320

Browse files
committed
[Serializer] Use firtName and snake_case
1 parent 4ecc706 commit 24d0320

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

components/serializer.rst

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,8 @@ A custom Name Converter can handle such cases::
202202

203203
public function denormalize($propertyName)
204204
{
205-
return substr($propertyName, 4);
205+
// remove org_ prefix
206+
return 'org_' === substr($propertyName, 0, 4) ? substr($propertyName, 4) : $propertyName;
206207
}
207208
}
208209

@@ -246,32 +247,32 @@ Symfony provides a built-in Name Converter designed to translate between
246247
snake_case and CamelCased styles during serialization and deserialization
247248
processes::
248249

249-
use Symfony\Component\Serializer\NameConverter\CamelCaseToUnderscoreNameConverter;
250+
use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter;
250251
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
251252

252-
$normalizer = new GetSetMethodNormalizer(null, new CamelCaseToUnderscoreNameConverter());
253+
$normalizer = new GetSetMethodNormalizer(null, new CamelCaseToSnakeCaseNameConverter());
253254

254255
class Person
255256
{
256-
private $givenName;
257+
private $firstName;
257258

258-
public function __construct($givenName)
259+
public function __construct($firstName)
259260
{
260-
$this->givenName = $givenName;
261+
$this->firstName = $firstName;
261262
}
262263

263-
public function getGivenName()
264+
public function getFirstName()
264265
{
265-
return $this->givenName;
266+
return $this->firstName;
266267
}
267268
}
268269

269270
$kevin = new Person('Kévin');
270271
$normalizer->normalize($kevin);
271-
// ['given_name' => 'Kévin'];
272+
// ['first_name' => 'Kévin'];
272273

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'
275276

276277
Serializing Boolean Attributes
277278
------------------------------

0 commit comments

Comments
 (0)