battis/ hydratable
使用默认值和覆盖值来初始化序列化对象
v0.1.1
2023-07-04 21:21 UTC
Requires
- php: >=7.3
README
使用默认值和覆盖值来初始化序列化对象
此功能旨在简化执行DRY(不要重复自己)原则的参数,并根据预设默认值进行初始化。
安装
composer require battis/hydratable
使用
这可以作为一个特性添加到类中,或者作为一个可调用的类。
use Battis\Hydratable\Hydratable; class MyObject { use Hydratable; private static $DEFAULTS = [ 'foo' => 'bar', 'argle' => 'bargle' ] private $options; public function __construct(array $params = []) { $this->options = $this->hydrate($params, self::$DEFAULTS); } }
然后可以实例化一个MyObject
的实例
$o = new MyObject(['baz' => 123, 'argle' = 'BaRgLe']); /* $o->options = [ 'foo' => 'bar', 'baz' => 123, 'argle' => 'BaRgLe' ] */
或者,我们也可以简单地实例化Hydrate
并一次性使用它
$hydrate = new Battis\Hydratable\Hydrate(); $options = $hydrate($params, $defaults);