此包最新版本(0.5.7)没有可用的许可证信息。

通用数据传输对象

0.5.7 2019-04-11 17:54 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License Production Environment

安装

php composer require framespictures/dto

注意

PLEASE NOTE THIS PROJECT IS WORK IN PROGRESS! API MAY CHANGE WITHOUT WARNING!
IF YOU WANT TO INCORPORATE IT INTO YOUR PROJECT PLEASE STICK TO ONE PARTICULAR VERSION.

数据传输对象理论

数据传输对象(DTO)是一种用于封装数据并将其从一个应用程序子系统传输到另一个子系统的对象。DTOs 在 N-Tier 应用程序的服务层中最常用于在自身和 UI 层之间传输数据。这里的主要好处是减少了分布式应用程序中需要通过网络传输的数据量。它们在 MVC 模式中也充当了优秀的模型。

DTOs 的另一个用途是封装方法调用参数。如果一个方法需要超过 4 或 5 个参数,这可能会很有用。

在内部使用 DTOs 可以极大地简化 PHP 代码,允许 IDE 代码提示,并避免数组字符串键中的错误,这是错误的一个常见来源。它还极大地提高了重构能力。

与 Eloquent 结合使用 Repository 模式,可以实现真正的逻辑和持久性分离。

常见用例

API 输出

数组到结构化模型的转换

数据映射

输入映射

数据转换、清理和链接

代码驱动的集合

基本 DTO

灵活的 DTO

映射器

基本功能

多级映射

高级映射

集合模型

数据库集合

配置模型

Laravel 配置

类图