FestinHegre/vendor/doctrine/collections/docs/en/serialization.rst

30 lines
886 B
ReStructuredText
Raw Normal View History

2024-09-26 17:26:04 +02:00
Serialization
=============
Using (un-)serialize() on a collection is not a supported use-case
and may break when changes on the collection's internals happen in the future.
If a collection needs to be serialized, use ``toArray()`` and reconstruct
the collection manually.
.. code-block:: php
$collection = new ArrayCollection([1, 2, 3]);
$serialized = serialize($collection->toArray());
A reconstruction is also necessary when the collection contains objects with
infinite recursion of dependencies like in this ``json_serialize()`` example:
.. code-block:: php
$foo = new Foo();
$bar = new Bar();
$foo->setBar($bar);
$bar->setFoo($foo);
$collection = new ArrayCollection([$foo]);
$json = json_serialize($collection->toArray()); // recursion detected
Serializer libraries can be used to create the serialization-output to prevent
errors.