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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy