目录模块结构
目前我认为目录模块几乎包含了你可以添加到模块的所有内容。
- 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 具有相同的子文件夹结构
- adminhtml - 管理员相关文件
- composer.json - 不是强制性的,但如果你分发你的模块就很高兴
- registration.php - 模块注册文件。
- 许可证* .txt,readme.md - 你知道这意味着什么。它们不是强制性的