--- date: 2020-11-11 id: a334a0bb-a462-4e8f-94df-6a9985a2c5e3 title: Symfony VarExporter Component --- # Introduction Introduced in [Symfony 4.2](20201111101706-symfony_4_2), the VarExporter Component is a better alternative to PHP's `var_export()` function. The `var_export()` function outputs or returns a parsable string representation of a variable. It is similar to `var_dump()` with one exception: the returned representation is valid PHP code. Symfony's `export()` function is similar, but adds lots of useful features to it. # Syntax ## Array ``` php $data = array(123, array('abc')); $result = VarExporter::export($data); ``` generates ``` php <?php return [ 123, [ 'abc', ], ]; ``` ## Class ``` php class MySerializable implements \Serializable { public function serialize() { return '123'; } public function unserialize($data) { // do nothing } } $data = array(new MySerializable(), new MySerializable()); $result = VarExporter::export($data); ``` generates ``` php <?php return \Symfony\Component\VarExporter\Internal\Configurator::pop( \Symfony\Component\VarExporter\Internal\Registry::push([], [], [ 'C:50:"Symfony\\Component\\VarExporter\\Tests\\MySerializable":3:{123}', ]), null, [], [ \Symfony\Component\VarExporter\Internal\Registry::$objects[0], \Symfony\Component\VarExporter\Internal\Registry::$objects[0], ], [] ); ```