Download the PHP package northern/serializer without Composer
On this page you can find all versions of the php package northern/serializer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download northern/serializer
More information about northern/serializer
Files in northern/serializer
Package serializer
Short Description Serializes a annotated object to a plain PHP array.
License MIT
Homepage http://github.com/northern/Serializer
Informations about the package serializer
Serializer
Northern\Serializer is a small PHP library that allows you to annotate your POPO's and serialize them into a plain PHP array.
To run the tests:
vendor/bin/phpunit
To generate code coverage reports:
vendor/bin/phpunit --coverage-html ./reports
Find Northern\Serializer on Packagist
Installation
Install through Composer.
How to use
To use Northern\Serializer you need to import it:
You can now instantiate and run the serializer on any PHP object:
However, without having annotated $someObject
's class, nothing will be serialized. Let's annotate the class of which $someObject
is an instance:
We have now annotated our class and indicated that the $myProperty
attribute must be serialized as an integer. When we now serialize $someObject
(which is assumed to be an instance of SomeClass
) the $array
variable will contain the serialized data:
Easy as.
With Northern\Serializer you can also serialize methods. Usually a serialized method is a getter of some sort. Let's look at an example:
As the above demonstrates, by simply adding the correct annotation to the method, the output of the method will be serialized as the key set by the annotation name
parameter, which is myValue
in our example:
If the name
attribute is not specified on the annotation then the name of the method will be used as the serialization key, e.g:
Which will produce:
Serializing properties and methods are of course very handy but what about a nested object? Can do too:
Notice the Serialize\Object
annotation? Be careful with recursive references!
Reference
These are the available serialization types:
Type | Description |
---|---|
Serialize\Bool |
Serializes a boolean value. |
Serialize\Int |
Serializes an integer value. |
Serialize\Object |
Serializes an object. Indicates recursion. |
Serialize\Collection |
Serializes an iterable, e.g. an array of objects. |