sajadsdi / dto-tool
用于简化DTO类管理的工具
1.0.2
2024-04-22 23:03 UTC
Requires
- php: ^8.1
- sajadsdi/php-reflection: ^1.0
README
DTO Tool是一个PHP库,提供了管理数据传输对象(DTO)类的工具。它通过提供方便的数据操作和转换方法,简化了与DTOs的工作流程。
安装
您可以通过Composer安装DTO Tool库。在您的项目目录中运行以下命令
composer require sajadsdi/dto-tool
特性
- 自动为公共和私有属性添加动态获取器和设置器(您可以更改可见性)
- 使用数组初始化DTO
- 将DTO导出为数组
要求
- PHP版本8.1或更高
- sajadsdi/php-reflection包版本1.0或更高
使用方法
- 创建您的DTO类并定义私有属性。
- 在DTO中使用DTOTrait
<?php use Sajadsdi\DtoTool\Concerns\DTOTrait; class MyDTOClass { use DTOTrait; private string $name; private int $price; private int $total; }
- 您可以根据以下方式获取或设置属性
$dto = new MyDTOClass(); $dto->setName('pen'); $dto->setPrice(12); $dto->setTotal(5); //getting data $name = $dto->getName(); $price = $dto->getPrice(); $total = $dto->getTotal(); echo "name: " . $name; // name: pen echo "price: " . $price;// price: 12 echo "total: " . $total;// total: 5 $array = $dto->toArray(); print_r($array);// ['name' => "pen", 'price' => 12, 'total' => 5] // you can initial data very easy $dto->init(['name' => "ball" ,'price' => 50 ,'total' => 20]); print_r($dto->toArray());// ['name' => "ball", 'price' => 50, 'total' => 20]
- 您可以覆盖获取和设置方法
<?php use Sajadsdi\DtoTool\Concerns\DTOTrait; class MyDTOClass { use DTOTrait; private string $name; private int $price; private int $total; public function getName() { return "prefix_".$this->name; } }
贡献
欢迎贡献!如果您发现任何问题或对改进有建议,请打开问题或在GitHub存储库上提交拉取请求。
许可证
此库是开源的,并按照MIT许可证发布。有关更多信息,请参阅LICENSE文件。
致谢
DTO Tool由SajaD SaeeDi开发和维护。
享受使用DTO Tool轻松管理您的DTO类吧!