Hydrotron aids in hydrating PHP objects
composer install mrkrstphr/hydrotron
When an array key exists, call one or more callbacks:
$hydro = new Hydrotron(['foo' => 'bar']);
$hydro->when('foo', $callback, [$object, 'method']);
When an array key exists, instantiate an object, and call a series of callbacks with that object:
$hydro = new Hydrotron(['foo' => 'bar', 'bizz' => 'buzz']);
$hydro->instantiateWhen('foo', MyClass::class, $callback);
instantiateWhen()
uses Instantiator, which will
analyze the classes constructor arguments and pass the values of any keys within the Hydrotron
array that matches those argument names.
So if MyClass
looked like:
class MyClass {
public function __construct($foo, $bizz) {}
}
MyClass
would be instantiated with $foo = 'bar'
and $bizz = 'buzz'
. If an argument name is not
found within the array, null
will be passed.
Hydrotron was inspired by Keyper.