uretral/bitrix-data

创建统一资源和数据传输对象

资助包维护!
spatie

dev-main 2024-08-28 22:30 UTC

This package is auto-updated.

Last update: 2024-09-28 22:44:56 UTC


README

Latest Version on Packagist Tests PHPStan Check & fix styling Total Downloads

此包可创建丰富的数据对象,可用于各种方式。使用此包,您只需描述一次数据

  • 而不是表单请求,您可以使用数据对象
  • 而不是API转换器,您可以使用数据对象
  • 而不是手动编写TypeScript定义,您可以使用... 🥁 数据对象

laravel-data 特定的对象只是一个扩展自 Data 的常规PHP对象

use Uretral\BitrixData\Data;

class SongData extends Data
{
    public function __construct(
        public string $title,
        public string $artist,
    ) {
    }
}

通过扩展 Data,您将启用许多新功能,例如

  • 自动将数据对象转换为资源(如Laravel API资源)
  • 使用懒属性仅转换数据对象的请求部分
  • 自动从请求数据创建数据对象并进行验证
  • 自动解析数据对象中属性的验证规则
  • 使您能够从任何类型构造数据对象
  • 在创建数据对象时自动验证数据对象
  • 从您的数据对象生成TypeScript定义,您可以在前端使用
  • 将数据对象作为Eloquent模型的属性保存
  • 等等...

您为什么使用这个包?

  • 您可以确信,当数据从您的应用程序离开并再次从前端返回时,数据是类型化的,这会大大减少错误
  • 您不需要三次编写相同的属性(在资源、数据传输对象和请求验证中)
  • 您需要编写的验证规则要少得多,因为它们通过PHP的类型系统很显然
  • 您可以免费获得数据对象的TypeScript版本

您是视觉学习者吗?

在这个在Laracon上进行的演讲中,您将看到 Laravel Data简介

支持我们

我们在创建 最佳开源包 上投入了大量资源。您可以通过 购买我们的付费产品之一 来支持我们。

我们非常感激您从家乡寄给我们明信片,并说明您正在使用我们的哪些包。您可以在 我们的联系页面 上找到我们的地址。我们将在 我们的虚拟明信片墙上 发布收到的所有明信片。

文档

您可以在专门的 文档网站 上找到完整的文档。

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请参阅 我们的安全策略 了解如何报告安全漏洞。

鸣谢

许可协议

麻省理工学院许可证(MIT)。更多信息请参阅许可证文件