pio*_*712 0 php arrays json symfony deserialization
我想在 Symfony 中将数组反序列化为类,但是如果不使用 json 或 XML 等,我找不到一种方法来做到这一点。
这是类:
class Product
{
protected $id;
protected $name;
...
public function getName(){
return $this->name;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我想要反序列化为 Product 类的数组。
$product['id'] = 1;
$product['name'] = "Test";
...
Run Code Online (Sandbox Code Playgroud)
您需要直接使用反规范化器。
\n\n版本:
\n\nclass Version\n{\n /**\n * Version string.\n *\n * @var string\n */\n protected $version = \'0.1.0\';\n\n public function setVersion($version)\n {\n $this->version = $version;\n\n return $this;\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n用法:
\n\nuse Symfony\\Component\\Serializer\\Normalizer\\ObjectNormalizer;\nuse Symfony\\Component\\Serializer\\Serializer;\nuse Version;\n\n$serializer = new Serializer(array(new ObjectNormalizer()));\n$obj2 = $serializer->denormalize(\n array(\'version\' => \'3.0\'),\n \'Version\',\n null\n);\n\ndump($obj2);die;\nRun Code Online (Sandbox Code Playgroud)\n\n结果:
\n\nVersion {#795 \xe2\x96\xbc\n #version: "3.0"\n}\nRun Code Online (Sandbox Code Playgroud)\n