phpfluent / jsonserializer
JSON Serializer implementation.
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-10-27 02:21:09 UTC
README
JSON Serializer implementation.
Install:
composer.phar require phpfluent/jsonserializer:dev-master
Usage:
<?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)) ); ); */
Test:
cd phpfluent/jsonserializer composer.phar install --dev make test