mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-21 19:16:23 +00:00
1.4 KiB
1.4 KiB
date | id | title |
---|---|---|
2020-11-11 | a334a0bb-a462-4e8f-94df-6a9985a2c5e3 | Symfony VarExporter Component |
Introduction
Introduced in 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
$data = array(123, array('abc'));
$result = VarExporter::export($data);
generates
<?php
return [
123,
[
'abc',
],
];
Class
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
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],
],
[]
);