phpfluent / jsonserializer
JSON 序列化实现。
dev-master
2013-07-21 03:02 UTC
Requires
- crodas/notoj: dev-master
Requires (Dev)
- phpunit/phpunit: 4.8.28
This package is auto-updated.
Last update: 2024-08-27 01:57:50 UTC
README
安装
composer.phar require phpfluent/jsonserializer:dev-master
用法
<?php use PHPFluent\JSONSerializer\Serializer; class Nested extends Serializer { /** * @PHPFluent\JSONSerializer\Attribute */ private $array; public function setArray(array $array) { $this->array = $array; return $this; } } class MyFancyClass extends Serializer { /** * @PHPFluent\JSONSerializer\Attribute */ private $email; /** * @PHPFluent\JSONSerializer\Attribute */ private $nested; private $iWontBeSerialized; public function setEmail($email) { if ( ! filter_var($email, FILTER_VALIDATE_EMAIL)) { throw new \InvalidArgumentException("Invalid email"); } $this->email = $email; return $this; } public function setNested(Nested $nested) { $this->nested = $nested; return $this; } } $nested = (new Nested)->setArray(array(1, 2, 3)); $fancy = (new MyFancyClass)->setEmail("foo@bar.com")->setNested($nested); json_encode($fancy); /* $serialized = json_encode( (new MyFancyClass)->setEmail("foo@bar.com")->setNested( (new Nested)->setArray(array(1, 2, 3)) ); ); */
测试
cd phpfluent/jsonserializer composer.phar install --dev make test