morningtrain/data-transfer-object-casters

包含数据传输对象转换器的包,用于与 spatie/data-transfer-object 一起使用

2.0.0 2023-03-24 08:55 UTC

README

Latest Version on Packagist GitHub Tests Action Status Code style Total Downloads

安装

您可以通过 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)。请参阅 许可证文件 了解更多信息。