blackbird/dto-toolkit

DTO Toolkit 模块为在 Magento 2 中创建数据传输对象(DTO)提供工具,同时保留 Magento 的关键特性,如插件、首选项等。

安装: 38

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型:magento2-module

1.0.0 2024-05-20 16:25 UTC

This package is auto-updated.

Last update: 2024-09-02 08:34:10 UTC


README

dto-toolkit

Latest Stable Version Total Downloads License: MIT

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 类没有属性 keyOnekeyTwo,它们将不会被填充。