inok / dto
支持PDO的DTO与数据填充
1.0.0
2023-12-02 08:54 UTC
Requires
- php: >=7.4.0
- ext-json: *
Requires (Dev)
- phpunit/phpunit: 9.6.13
This package is auto-updated.
Last update: 2024-08-31 00:41:46 UTC
README
当前支持的类型: string、bool、int、float、DateTimeImmutable。特性
toJSON
- 转换为JSON,可以传递一个数组指定所需字段toArray
- 转换为数组,可以传递一个数组指定所需字段toPDO
- 转换为适用于PDO的数组,可以传递一个数组指定所需字段updateDTO
- 获取已更改的字段switchUpdate
- 切换DTO的插入/添加模式resetUpdate
- 将更改的字段重置为当前值getUpdateFields
- 获取已更改字段的列表,如果传递了值true
(默认值)- 仅获取字段名称的数组false
- 获取包含字段名称、old
值和current
值的数组
DTO示例
/** * @property int $id * @property string $name * @property string $workgroup * @property int|null $workplace_id * @property DateTimeImmutable|null $created_at */ class ComputerDTO extends HydrateDTO { private int $id; /** modify=mb_strtolower */ private string $name; private string $workgroup; private ?int $workplace_id = null; /** sql=Y-m-d H:i:s; show=Y-m-d */ private ?DateTimeImmutable $created_at = null; }
,其中注释
modify
- 用于修改原始值 在 水合之前的函数sql
- 用于SQL日期格式。如果没有指定,则使用格式Y-m-d H:i:s
show
- 用于其他操作(toArray
、toJSON
)。如果没有指定,则使用格式Y-m-d H:i:s