From 3e2e30f1e991cadacdab62e90441c55c79584c8a Mon Sep 17 00:00:00 2001 From: Javier Eguiluz Date: Wed, 12 Sep 2018 08:55:41 +0200 Subject: [PATCH] Minor reword --- components/serializer.rst | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/components/serializer.rst b/components/serializer.rst index 6183457cd67..56cd676984f 100644 --- a/components/serializer.rst +++ b/components/serializer.rst @@ -1304,23 +1304,22 @@ the :class:`Symfony\\Component\\Serializer\\Serializer` class will call the (or :method:`Symfony\\Component\\Serializer\\Normalizer\\DenormalizerInterface::supportsDenormalization`) of all registered normalizers (or denormalizers) in a loop. -The result of these methods can vary depending of the value of the object to serialize, of the format to -use, and of the context. Consequently, **it is not cached** by default. - -Because they are called recursively, these methods are usually a huge performance bottleneck. Moreover, most -normalizers (and denormalizers) always return the same result when the object's type, and the format are -the same. - -To hint the serializer that it's safe to cache the result of these methods (and then dramatically improve the -overall performance), such normalizers (and denormalizers) should implement the -:class:`Symfony\\Component\\Serializer\\Normalizer\\CacheableSupportsMethodInterface` and return ``true`` when +The result of these methods can vary depending on the object to serialize, the +format and the context. That's why the result **is not cached** by default and +can result in a significant performance bottleneck. + +However, most normalizers (and denormalizers) always return the same result when +the object's type and the format are the same, so the result can be cached. To +do so, make those normalizers (and denormalizers) implement the +:class:`Symfony\\Component\\Serializer\\Normalizer\\CacheableSupportsMethodInterface` +and return ``true`` when :method:`Symfony\\Component\\Serializer\\Normalizer\\CacheableSupportsMethodInterface::hasCacheableSupportsMethod` is called. -.. note:: - - Built-in :ref:`normalizers and denormalizers `, as well the ones - included in `API Platform`_ natively implement this interface. + .. note:: + + All built-in :ref:`normalizers and denormalizers ` + as well the ones included in `API Platform`_ natively implement this interface. Learn more ----------