|
|
hace 1 año | |
|---|---|---|
| .. | ||
| Exception | hace 1 año | |
| Internal | hace 1 año | |
| CHANGELOG.md | hace 1 año | |
| Instantiator.php | hace 1 año | |
| LICENSE | hace 1 año | |
| README.md | hace 1 año | |
| VarExporter.php | hace 1 año | |
| composer.json | hace 1 año | |
The VarExporter component allows exporting any serializable PHP data structure to
plain PHP code. While doing so, it preserves all the semantics associated with
the serialization mechanism of PHP (__wakeup, __sleep, Serializable,
__serialize, __unserialize).
It also provides an instantiator that allows creating and populating objects without calling their constructor nor any other methods.
The reason to use this component vs serialize() or
igbinary is performance: thanks to
OPcache, the resulting code is significantly faster and more memory efficient
than using unserialize() or igbinary_unserialize().
Unlike var_export(), this works on any serializable PHP value.
It also provides a few improvements over var_export()/serialize():
\r or \n in the dataClassNotFoundException instead of being unserialized to
PHP_Incomplete_Class objects;SplObjectStorage, ArrayObject or ArrayIterator
instances are preserved;Reflection*, IteratorIterator and RecursiveIteratorIterator classes
throw an exception when being serialized (their unserialized version is broken
anyway, see https://bugs.php.net/76737).