odan/hydrator

This package is abandoned and no longer maintained. The author suggests using the zendframework/zend-hydrator package instead.

A high performance hydrator for PHP.

1.4.1 2018-03-10 08:38 UTC

This package is auto-updated.

Last update: 2019-04-27 12:39:50 UTC


README

A high performance hydrator for PHP.

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Requirements

  • PHP >= 7.1

Installation

composer require odan/hydrator

Features

  • Array to Object
  • Object to Array

ObjectProperty

Any data key matching a publicly accessible property will be hydrated; any public properties will be used for extraction.

ClassMethod

Any data key matching a setter method will be called in order to hydrate; any method matching a getter method will be called for extraction.

Usage

// User entity
class User
{
    public $id;
    public $username;
    public $firstName;
    public $email;
}

// A row from the database
$userRow = [
    'id' => 1,
    'username' => 'admin',
    'first_name' => 'John Doe',
    'email' => 'john@example.com'
];

// Create the hydrator
$hydrator = new \Odan\Hydrator\ObjectProperty();

// Convert array to a new User object (with lower camel case properties)
$user = $hydrator->hydrate($userRow, new User());

print_r($user);

/*
User Object
(
    [id] => 1
    [username] => admin
    [firstName] => John Doe
    [email] => john@example.com
)
*/

// Convert User object to an array with lower camel case keys
$array = $hydrator->extract($user);

print_r($array);

/*
Array
(
    [id] => 1
    [username] => admin
    [first_name] => John Doe
    [email] => john@example.com
)
*/

Alternatives

License

The MIT License (MIT). Please see License File for more information.