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.

1$collection = new ArrayCollection([1, 2, 3]); $serialized = serialize($collection->toArray());
2

A reconstruction is also necessary when the collection contains objects with infinite recursion of dependencies like in this json_serialize() example:

1$foo = new Foo(); $bar = new Bar(); $foo->setBar($bar); $bar->setFoo($foo); $collection = new ArrayCollection([$foo]); $json = json_serialize($collection->toArray()); // recursion detected
2
3
4
5
6
7
8

Serializer libraries can be used to create the serialization-output to prevent errors.