izisoft / laravel-data
创建统一资源和数据传输对象
3.1.1
2023-03-02 11:00 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^9.30|^10.0
- phpdocumentor/type-resolver: ^1.5
- spatie/laravel-package-tools: ^1.9.0
Requires (Dev)
- fakerphp/faker: ^1.14
- friendsofphp/php-cs-fixer: ^3.0
- inertiajs/inertia-laravel: ^0.6.3
- nesbot/carbon: ^2.63
- nette/php-generator: ^3.5
- nunomaduro/larastan: ^2.0
- orchestra/testbench: ^7.6|^8.0
- pestphp/pest: ^1.22
- pestphp/pest-plugin-laravel: ^1.3
- phpstan/extension-installer: ^1.1
- phpunit/phpunit: ^9.3
- spatie/invade: ^1.0
- spatie/laravel-typescript-transformer: ^2.1.6
- spatie/pest-plugin-snapshots: ^1.1
- spatie/phpunit-snapshot-assertions: ^4.2
- spatie/test-time: ^1.2
- dev-main
- 3.1.1
- 3.1.0
- 3.0.0
- v2.x-dev
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.0
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- v1.x-dev
- 1.5.1
- 1.5.0
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-beyond-data
This package is auto-updated.
Last update: 2024-09-09 05:22:37 UTC
README
Laravel的强大数据对象
此包允许创建丰富的数据对象,可以以各种方式使用。使用此包,您只需描述一次您的数据
- 而不是表单请求,您可以使用数据对象
- 而不是API转换器,您可以使用数据对象
- 而不是手动编写TypeScript定义,您可以使用... 🥁 数据对象
一个laravel-data
特定的对象只是一个继承自Data
的普通PHP对象
use Spatie\LaravelData\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以获取详细信息。
安全漏洞
请参阅我们的安全策略,了解如何报告安全漏洞。
鸣谢
- Ruben Van Assche
- Aidan Casey(验证属性)
- 所有贡献者
许可协议
MIT 许可协议 (MIT)。请参阅许可文件获取更多信息。