gravatalonga / hydrator
从数组到对象或从对象到数组的Hydrator类
1.0.3
2021-04-26 18:51 UTC
Requires
- php: ^8.0 || ^7.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18
- infection/infection: ^0.21.5
- phly/keep-a-changelog: ^2.11
- phpstan/phpstan: ^0.12.83
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-08 01:00:03 UTC
README
Hydrator
Hydrator 是一个库,可以帮助您从数组填充数据对象的属性。
结构
build/
src/
examples/
tests/
vendor/
安装
通过 Composer
$ composer require gravataLonga/hydrator
用法
$properties = ['id' => 1, 'string' => 'hello world'] class Entity implements HydrableInterface { use HydrateTrait; public int $id; public string $string; } $e = Entity::hydrate($property); echo $e->id; // 1 echo $e->string; // hello world
您甚至可以使用内部函数来正确格式化值,
$properties = ['name' => 'Jonathan'] class Entity implements HydrableInterface { use HydrateTrait; public string $name; private function formatName($value) { return 'Hi, ' . $value; } } $e = Entity::hydrate($property); echo $e->string; // Hi, Jonathan
注意:如果属性设置为私有或受保护,则不会填充该字段,并且会抛出异常。
如果您不能或不希望使用特性,您还有另一种方法,即使用: Hydrator
。
$hydrator = new Hydrator(['id' => 1]);
$entity = $hydrator->hydrate(new Entity);
echo $entity->id; // 1
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 了解详细信息。
安全性
如果您发现任何安全相关的问题,请通过电子邮件 jonathan.alexey16@gmail.com 联系,而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。