didix16 / php-hydrator
一个简单的库,使用 hydration 模式填充对象,根据不同的数据源。
v1.0.1
2021-08-06 22:25 UTC
Requires
- php: >= 7.2
README
一个简单的库,使用 hydration 模式填充对象,根据不同的数据源。
内容
什么是数据 hydration
数据 hydration 是将数据导入到对象中。当一个对象等待填充数据时,这个对象等待被 hydration。这种 hydration 的来源可以是数据湖或其他数据源。存在多种数据 hydration 方法,以正确选择并填充对象以适当的数据
安装
composer require didix16/php-hydrator
用法
class MyModel { private $property1; private $property2; ... } // this is an hydrator based on PHP reflection $hydrator = new ReflectionHydrator(); $model = new MyModel(); $hydrator->hydrate([ 'property1' => 'value1', 'propery2' => 'value2' ], $model); //$model->getProperty1() === 'value1' //$model->getProperty2() === 'value2' $data = $hydrator->extract($model); // data = ['property1' => 'value1', 'property2' => 'value2']
class MyModel implements \ArrayAccess { protected $property1; protected $property2; // Implementation of ArrayAccess interface methods ... } // this is an hydrator based on object array serialization $hydrator = new ArraySerializableHydrator(); $model = new MyModel(); $hydrator->hydrate([ 'property1' => 'value1', 'propery2' => 'value2' ], $model); //$model->getProperty1() === 'value1' //$model->getProperty2() === 'value2' $data = $hydrator->extract($model); // data = ['property1' => 'value1', 'property2' => 'value2']
待办事项
实现 ObjectPropertyHydrator
实现 ClassMethodsHydrator
更多信息请查看