morningtrain / data-transfer-object-casters
包含数据传输对象转换器的包,用于与 spatie/data-transfer-object 一起使用
2.0.0
2023-03-24 08:55 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.37 | ^9.0 | ^10.0
- spatie/data-transfer-object: ^3.7
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- nunomaduro/collision: ^5.3 | ^6.1 | ^7.0
- orchestra/testbench: ^6.15 | ^7.22 | ^8.0
- pestphp/pest: ^1.22
- pestphp/pest-plugin-laravel: ^1.4
- spatie/laravel-ray: ^1.32
- vimeo/psalm: ^5.8
This package is auto-updated.
Last update: 2024-09-24 12:22:13 UTC
README
安装
您可以通过 composer 安装此包
composer require morningtrain/data-transfer-object-casters
使用方法
要使用提供的转换器,请将属性 CastWith 添加到您想要转换的属性中。
class DTO extends DataTransferObject { #[CastWith(BoolCaster::class)] public bool $bool; }
布尔值
布尔值转换器用于将提供的值转换为布尔值。
它使用 FILTER_VALIDATE_BOOL,有关更多信息,请参阅php 文档
日期
DateCaster 将尝试使用提供的格式将提供的值转换为 Carbon 实例。
如果没有指定格式,将使用 'd.m.Y H:i:s'。
use Morningtrain\DataTransferObjectCasters\Casters\DateCaster; class DTO extends DataTransferObject { #[CastWith(DateCaster::class, format: 'Y-m-d')] public Carbon $date; }
整数
IntCaster 使用 (int) 转换将提供的值转换为整数。
Trim
TrimCaster 将删除提供的值周围的空白,使值周围没有空白。
UppercaseFirst
UppercaseFirstCaster 将提供的值的首字母转换为大写,类似于 php 的 ucfirst 函数。
可选地,转换器可以将字符串的其余部分转换为小写,如下所示。
use Morningtrain\DataTransferObjectCasters\Casters\UppercaseFirstCaster; class DTO extends DataTransferObject { #[CastWith(UppercaseFirstCaster::class, lower: true)] public string $ucFirstString; }
如果提供的值不是字符串,则返回提供的值。
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请查阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。