目录模块结构

目前我认为目录模块几乎包含了你可以添加到模块的所有内容。

  • Api - 包含服务合同。除非次要版本更改,否则不应更改的一组接口。对于自定义模块不是强制性的,但对于商业扩展很有用。
    • 数据 - 数据接口。每个接口都必须有一个实现它的模型(例如:产品模型的接口)
    • ProductRepositoryInterface.php - 存储库的接口(还必须具有实现)
    • …… - 其他如上所述
  • - 用于前端和后端布局的块
    • Adminhtml - 用于后端的块
    • 类别 - 前端相关块。可以根据需要嵌套在任意数量的文件夹中,但不是必需的
    • …… - 与上述相同
  • 控制台 - 包含 cli 命令的文件夹
  • 控制器 - 包含前端和后端控制器
    • Adminhtml - 后端控制器
    • 类别 - 前端相关的控制器。可以根据需要嵌套在任意数量的文件夹中,但不是必需的
    • …… - 与上述相同。
  • Cron - 应该通过 cron 执行的代码
  • etc - 包含模块配置 xml 文件
    • 前端 - 包含仅在前端加载的配置文件
    • adminhtml - 包含仅在后端加载的配置文件
    • webapi_rest - 包含仅为其余 api 加载的配置文件
    • webapi_soapt - 包含仅为 SOAP api 加载的配置文件
    • acl.xml - ACL 定义
    • catalog_attributes.xml - 目录实体的默认属性。
    • catalog_attributes.xsd - 上面文件的验证模式。
    • config.xml - 配置设置的默认值
    • crontab.xml - cron 作业调度
    • di.xml - 依赖注入首选项。 (也可以驻留在 adminhtml,前端,webapi_ *)
    • events.xml - 事件的观察者声明(也可以驻留在 adminhtml,前端)
    • indexer.xml - 数据更改时需要执行的不同索引的设置
    • module.xml - 模块声明文件
    • product_ * - 产品相关设置。
    • webapi.xml - webapi 声明路径。
    • widget.xml - 小部件声明。
  • 助手 - 不同的模块助手
  • i18n - 语言翻译文件
  • 模型 - 模型,简单。它们可以嵌套在任意数量的文件夹中,但并不是强制性的。
  • 观察者 - 事件观察者类
  • 插件 - 用于不同公共方法的 around|before|after 插件。
  • 定价 - 定价相关类。这是特定于模块的。如果你不想将它们放在模型文件夹中,你可以拥有任意数量的文件夹。
  • 安装 - 安装/升级相关文件(安装升级架构和数据)
  • 测试 - 单元测试
  • Ui - ui 组件相关类。
  • view - 与 html 相关的部分。MVC 中的 V.
    • adminhtml - 管理员相关文件
      • layout - adminhtml 的 xml 布局
      • templates - adminhtml 的 phtml 模板
      • ui_compoenent - ui 组件相关文件(声明)
      • 网络 - 资产(js,图像)
      • requirejs-config.js - require.js 的配置
    • base - 用于前端和后端的文件。
      • 可以与 adminhtml 具有相同的子文件夹结构
    • 前端 - 前端相关文件
      • 可以与 adminhtml 具有相同的子文件夹结构
  • composer.json - 不是强制性的,但如果你分发你的模块就很高兴
  • registration.php - 模块注册文件。
  • 许可证* .txt,readme.md - 你知道这意味着什么。它们不是强制性的