lingaro/magento2-codegen

Magento 2 代码生成器

4.0.0 2023-06-06 08:14 UTC

This package is auto-updated.

Last update: 2024-09-07 13:59:41 UTC


README

Lingaro 创建

灵感来源于 https://github.com/staempfli/magento2-code-generator

目的

在日常的 Magento 2 开发中,有些常见的任务需要编写重复的代码,而这些代码很难简单地复制粘贴。本应用程序的目的是自动化创建此类代码,从而使开发者能够专注于业务逻辑,并因此更加高效和快乐。

市场上还有其他工具可以生成 Magento 标准代码,但我们更进一步。我们工具的独特价值在于它可以与现有的代码库一起使用。由该工具生成的代码将与当前代码自动合并(例如,配置 XML 文件、requirejs-config JS 文件等)。此外,我们的目标是生成高质量的代码,使用现代 PHP 功能和 Magento 编码标准。

演示

在一分钟内创建一个新的实体并具有所有管理 CRUD 操作?为什么不呢?;-)

控制台命令

Console command

生成的代码

Generated code

管理面板

Admin panel

支持的 Magento 版本

  • 2.4.0
  • 2.4.1
  • 2.4.2
  • 2.4.3
  • 2.4.4
  • 2.4.5

注意:Magento 的 PHP 最小版本为 7.4。

可用模板

apiEndpoint - 创建 API 端点

block - 创建一个块及其对应的 phtml 模板文件

cache - 创建缓存类型

categoryAttributes - 创建数据补丁,将自定义属性添加到分类实体中,并包含用于渲染这些属性的 ui_component

configField - 为已存在的存储配置组创建配置字段

configGroup - 为已存在的存储配置部分创建组

configSection - 在现有的存储配置标签中创建部分

configTab - 为存储配置创建标签

consoleCommand - 创建控制台命令

cron - 创建 cron 作业(可选)及其 cron 组

crud - 创建新的实体以及其在管理面板中的所有 CRUD 操作

customerAttributes - 创建数据补丁,将自定义属性添加到客户实体中

emailTemplate - 创建一个系统电子邮件模板,其中包含用于发送它的类和允许管理员自定义它的配置

eventObserver - 为给定事件创建事件观察者

frontPageController - 创建一个渲染自定义页面的前端控制器

frontPostController - 创建一个非常基本的前端 POST 控制器

importEntity - 创建一个导入模型,用于将数据导入自定义实体表

jsMixin - 创建一个 JS 混合

jsModule - 创建一个 JS 模块

model - 创建一个具有相应存储库、搜索结果、资源模型、集合、db_schema.xml 和 API 的模型

module - 创建启动自定义模块所需的基本配置

productAttributes - 创建数据补丁,将自定义属性添加到产品实体中

queueMessage - 使用 AMQP 连接创建消息队列消息及其发布者和处理器

quoteFields - 为报价和订单创建自定义字段

searchCriteriaUsage - 创建管理类和搜索条件使用

theme - 创建启动自定义主题所需的基本配置

viewModel - 创建视图模型及其 phtml 模板文件

widget - 创建小工具

安装

推荐将此应用程序作为 Magento 的 Composer 开发依赖项添加

composer require --dev lingaro/magento2-codegen

如果您不想将此应用程序附加到您的Magento上,您也可以简单地克隆存储库并作为独立库使用。别忘了运行composer install以安装所有必需的依赖项。

配置

在包的config目录或您的Magento根目录中创建您自定义的配置文件(对于Lingaro开发者不是必需的)。

cp vendor/lingaro/magento2-codegen/config/codegen.yml.dist vendor/lingaro/magento2-codegen/config/codegen.yml

或者

cp vendor/lingaro/magento2-codegen/config/codegen.yml.dist codegen.yml

并编辑默认值。

您可以通过在您的codegen.yml中包含以下内容来添加自己的模板目录:

templateDirectories:
  - { path: "path/to/templates" }

模板文件夹的path必须是相对于包目录的相对路径,例如,如果您想将私有模板添加到您的Magento dev文件夹,您应该使用../../../dev/codegen_templates路径。

您可以包含多个模板目录。

要覆盖核心模板,只需将核心模板复制到您的模板目录,并根据需要做出更改。

使用方法

  1. 列出所有模板
bin/codegen template:list
  1. 显示模板信息
bin/codegen template:info <template>
  1. 生成模板
bin/codegen template:generate <template>

对于类型为module(大多数)的模板,此命令必须在包含registration.php文件的模块根目录上执行。

对于类型为root的模板,此命令必须在Magento根目录上执行。

示例

cd /path/to/magento/app/code/Lingaro/TestModule
../../../../vendor/bin/codegen template:generate block

3.1. 选项

贡献

请随时通过提交拉取请求将新的模板、错误修复和功能贡献给我们。使用pull request提交您的代码以进行审查。

请注意,我们要求所有代码都与PSR12兼容。此外,我们使用以下PHPMD规则集验证代码:cleancode、codesize、controversial、design、unusedcode。

您可以在dev/docs.md中找到开发者的附加文档。