2017 © Pedro Peláez
 

library serializer

image

itav/serializer

  • Sunday, September 10, 2017
  • by Sylwester
  • Repository
  • 2 Watchers
  • 1 Stars
  • 546 Installations
  • PHP
  • 12 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 16 Versions
  • 7 % Grown

The README.md

PHP Serializer

Table of Contents

main features:

  • work recursively up to 50 nested objects/arrays
  • handling \DateTime objects
  • implement Java style naming convention.

, (*1)

Installation

Add Serializer to your composer.json file., (*2)

{
  "require": {
    "itav/serializer": "~1.2"
  }
}

or simply fire up on terminal:, (*3)

composer require itav/serializer

Then at the top of your PHP script require the autoloader:, (*4)

require 'vendor/autoload.php';

, (*5)

Quick Start

Php Serializer allows you to switch between:, (*6)

objects --- arrays --- json, xml

<?php

use Itav\Component\Serializer\Serializer;

require_once '../vendor/autoload.php';

$serializer = new Serializer();

class Car
{
    private $model = 'SomeModel';
    private $color = 'red';
    /**
     * @var Part[]
     */
    private $parts;

    public function setParts($parts)
    {
        $this->parts = $parts;
    }
}
class Part
{
    private $number = 123;
    private $name = 'engine';

}

$car = new Car();
$car->setParts([new Part(), new Part(), new Part()]);

$array = $serializer->normalize($car);
$json = json_encode($array);

and also in reverse direction:, (*7)

json --- arrays --- objects

<?php

$json = <<<JSON
{  
   "model":"MyModel",
   "color":"red",
   "parts":[  
      {  
         "number":123,
         "name":"engine"
      },
      {  
         "number":124,
         "name":"lamp"
      },
      {  
         "number":125,
         "name":"wheel"
      }
   ]
}
JSON;

//$array = json_decode($json, true);

$array = [
    'model' => 'MyModel',
    'color' => 'red',
    'parts' => [
        0 => [
            'number' => 123,
            'name' => 'engine'
        ],
        1 => [
            'number' => 124,
            'name' => 'lamp'
        ],
        2 => [
            'number' => 125,
            'name' => 'wheel'
        ],
    ]
];

$car = $serializer->denormalize($array, Car::class);

## How to Contribute write to me: sylwester7799@gmail.com, (*8)

The Versions

10/09 2017

dev-feature/201709_json_support

dev-feature/201709_json_support

  Sources   Download

by Sylwester Kowalski

11/01 2017

dev-master

9999999-dev

  Sources   Download

by Sylwester Kowalski

11/01 2017

v1.3.1

1.3.1.0

  Sources   Download

by Sylwester Kowalski

11/01 2017

dev-develop

dev-develop

  Sources   Download

by Sylwester Kowalski

11/01 2017

v1.3.0

1.3.0.0

  Sources   Download

by Sylwester Kowalski

11/01 2017

v1.2.2

1.2.2.0

  Sources   Download

by Sylwester Kowalski

17/10 2016

v1.2.1

1.2.1.0

  Sources   Download

by Sylwester Kowalski

17/09 2016

v1.1.0

1.1.0.0

  Sources   Download

by Sylwester Kowalski

22/08 2016

v1.0.1

1.0.1.0

  Sources   Download

by Sylwester Kowalski

12/08 2016

v1.0.0

1.0.0.0

  Sources   Download

by Sylwester Kowalski

01/07 2016

v0.1.6

0.1.6.0

  Sources   Download

by Sylwester Kowalski

23/05 2016

v0.1.5

0.1.5.0

  Sources   Download

by Sylwester Kowalski

23/05 2016

v0.1.4

0.1.4.0

  Sources   Download

by Sylwester Kowalski

20/05 2016

v0.1.1

0.1.1.0

  Sources   Download

by Sylwester Kowalski

20/05 2016

v0.1.2

0.1.2.0

  Sources   Download

by Sylwester Kowalski

14/05 2016

v0.1.0

0.1.0.0

  Sources   Download

by Sylwester Kowalski