sajadsdi/dto-tool

用于简化DTO类管理的工具

1.0.2 2024-04-22 23:03 UTC

This package is auto-updated.

Last update: 2024-09-23 00:02:38 UTC


README

DTO Tool是一个PHP库,提供了管理数据传输对象(DTO)类的工具。它通过提供方便的数据操作和转换方法,简化了与DTOs的工作流程。

安装

您可以通过Composer安装DTO Tool库。在您的项目目录中运行以下命令

composer require sajadsdi/dto-tool

特性

  • 自动为公共和私有属性添加动态获取器和设置器(您可以更改可见性)
  • 使用数组初始化DTO
  • 将DTO导出为数组

要求

  • PHP版本8.1或更高
  • sajadsdi/php-reflection包版本1.0或更高

使用方法

  1. 创建您的DTO类并定义私有属性。
  2. 在DTO中使用DTOTrait
<?php

use Sajadsdi\DtoTool\Concerns\DTOTrait;

class MyDTOClass
{
    use DTOTrait;
    
    private string $name;
    private int $price;
    private int $total;
}
  1. 您可以根据以下方式获取或设置属性
$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]
  1. 您可以覆盖获取和设置方法
<?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类吧!