blackbird / dto-toolkit
DTO Toolkit 模块为在 Magento 2 中创建数据传输对象(DTO)提供工具,同时保留 Magento 的关键特性,如插件、首选项等。
1.0.0
2024-05-20 16:25 UTC
Requires
- magento/framework: *
README
dto-toolkit
Magento 2 DTO Toolkit 模块提供创建数据传输对象(DTO)的工具,同时保留 Magento 的关键特性,如插件、首选项等。
本模块旨在通过提供一种结构化的方法来处理 Magento 应用程序中的数据传输,以增强开发体验。
特性
- 易于创建 DTO: 简化了创建和管理 DTO 的过程。
- 集成 Magento: 与 Magento 的 DI 系统完全兼容,插件和首选项。
- 自动填充: 提供了一种使用数组自动填充 DTO 的方法。
安装
要求
- PHP >= 7.4
composer require blackbird/dto-toolkit
php bin/magento setup:upgrade
在生产模式中,不要忘记重新编译和重新部署静态资源。
使用
要实例化您的 DTO 同时保持与 Magento 2 的完全兼容性,请使用提供的 DTOFactory
use Blackbird\DTOToolkit\Model\Factory\DTOFactory; /** @var DTOFactory $dtoFactory **/ protected $dtoFactory; public function __construct( DTOFactory $dtoFactory ) { $this->dtoFactory = $dtoFactory; } [...] $myDtoInstance = $this->dtoFactory->create(MyDTO::class);
要自动填充您的 DTO 实例与一个数组
use Blackbird\DTOToolkit\Model\Factory\DTOFactory; /** @var DTOFactory $dtoFactory **/ protected $dtoFactory; public function __construct( DTOFactory $dtoFactory ) { $this->dtoFactory = $dtoFactory; } [...] myArray = [ 'key_one' => 1, 'key_two' => 2 ]; $myDtoInstance = $this->dtoFactory->create(MyDTO::class, $myArray);
警告,如果您的 DTO 类没有属性 keyOne
或 keyTwo
,它们将不会被填充。