spaceonfire/laminas-hydrator-bridge

This package is abandoned and no longer maintained. The author suggests using the getwarp/laminas-hydrator-bridge package instead.

Provides integration for Laminas Hydrator with some spaceonfire libraries

Maintainers

👁 tntrex

Package info

github.com/spaceonfire/laminas-hydrator-bridge

pkg:composer/spaceonfire/laminas-hydrator-bridge

Fund package maintenance!

Liberapay

Statistics

Installs: 1 799

Dependents: 4

Suggesters: 0

Stars: 1

2.5.2 2021-09-25 09:48 UTC

Requires

Requires (Dev)

Suggests

Provides

None

Conflicts

None

Replaces

None

MIT 0b231d54a6c086f08a5fe9d3aa82977b5d312229

hydratorlaminasspaceonfirelaminas-hydrator

This package is auto-updated.

Last update: 2022-06-12 16:28:21 UTC


README

👁 Latest Version on Packagist
👁 Software License
👁 Total Downloads
👁 Code Coverage

Provides integration for Laminas Hydrator with some spaceonfire libraries.

Install

Via Composer

$ composer require spaceonfire/laminas-hydrator-bridge

Usage

use spaceonfire\LaminasHydratorBridge\StdClassHydrator;
use spaceonfire\LaminasHydratorBridge\NamingStrategy\AliasNamingStrategy;
use spaceonfire\LaminasHydratorBridge\Strategy\BooleanStrategy;
use spaceonfire\LaminasHydratorBridge\Strategy\ScalarStrategy;
use spaceonfire\LaminasHydratorBridge\Strategy\NullableStrategy;
use spaceonfire\Type\BuiltinType;

$hydrator = new StdClassHydrator();

$hydrator->setNamingStrategy(new AliasNamingStrategy([
 'firstName' => ['first_name', 'firstname'],
 'lastName' => ['last_name', 'lastname'],
 'rulesAccepted' => ['rules_accepted'],
]));

$hydrator->addStrategy('age', new NullableStrategy(new ScalarStrategy(BuiltinType::INT)));
$hydrator->addStrategy('rulesAccepted', new BooleanStrategy(['Y', 'y', 1], 'N', false));

$john = $hydrator->hydrate([
 'first_name' => 'John',
 'last_name' => 'Doe',
 'rules_accepted' => 'y',
 'age' => '25',
], new stdClass());

// $john->firstName === 'John';
// $john->lastName === 'Doe';
// $john->rulesAccepted === true;
// $john->age === 25;

$jane = $hydrator->hydrate([
 'firstname' => 'Jane',
 'lastname' => 'Doe',
 'rules_accepted' => '',
 'age' => null,
], new stdClass());

// $jane->firstName === 'John';
// $jane->lastName === 'Doe';
// $jane->rulesAccepted === false;
// $jane->age === null;

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Report issues and send Pull Requests in the main spaceonfire repository. Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Credits

License

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