crodas/easy-serializer

There is no license information available for the latest version (dev-master) of this package.

Serialize things easily, with validation support.

dev-master 2015-01-06 03:58 UTC

This package is auto-updated.

Last update: 2024-04-12 17:37:02 UTC


README

Serialize/deserialize and validate data structures. It uses annotations to declare data structures formats and their validations.

How does it work?

$conf = new EasySerializer\Configuration(__DIR__/* directory where the classes are defined */);
$serializer = $conf->getSerializer();

We have our serializer object, it have two main methods, serialize and deserialize. The serializer configuraiton object will walk through our directories the first time looking for classes with the @Serialize annotation. It will read their properties to understand their format and validations.

/** @Serialize */
class Foobar
{
   /** @Required @String */
   public $name;
   
   /** @Int @Between([18,99], "Age is invalid") */
   public $age;
}

By default, it will read and write json objects but it's easier to change the serialize/deserialize functions at runtime (with the setFunction($serialize, $deserialize) method).

TODO

  1. More unit testing
  2. More documentation
  3. More documentation for crodas/validator