magento 2 开发之旅——框架结构

1.框架目录结构

magento 2 开发之旅——框架结构

  • 模块放在 app/code.
  • 前端主题放在 app/design/frontend.
  • 后台主题放在 app/design/adminhtml.
  • 语言包放在 app/i18n.

注意事项:

在Magento 2中,没有代码池。因此,没有更多的混淆 app/code/local,app/code/core 以及 app/code/community。您的模块将只在目录中 app/code/YourNamespace/YourModule。

2.模块文件结构

一个Magento 2模块典型的文件结构如下图:

magento 2 开发之旅——框架结构

  •   Api :包含暴露给API的任何PHP类。
  •  Block : 包含PHP视图类作为模型视图控制器(MVC)模块逻辑的垂直实现的一部分。
  • Controller: 包含PHP控制器类作为MVC垂直模块逻辑实现的一部分。
  • etc: 包含配置文件。
  •  i18n :包含本地化文件。
  • Model: 包含PHP模型类作为MVC垂直实现模块逻辑的一部分。
  •  Plugin :包含任何所需的插件。
  •  view :包含视图文件,包括静态视图文件,设计模板,电子邮件模板和布局文件。
  • registration.php:此文件指定在生产环境中安装组件的目录。 默认情况下,组件安装在 <magento 2 根目录>/vendor 目录。Magento 2组件 , 包括模块, 主题, 和语言包, 必须注册在Magento 2ComponentRegistrar类。每个组件必须有一个文件名为 registration.php 文件在根目录。
  • composer.json: 指定组件依赖关系和其他元数据。Magento 2 使用Composer, 一个PHP依赖管理器,封装组件和产品版本。Composer 读取 composer.json 文件,下载第三方依赖列表在这个文件中。组件管理器使用 composer.json 文件在扩展根目录下执行更新,卸载,启用或禁用扩展。
  • di.xml每个模块可以有一个全局和区域特定 di.xml 文件,Magento 2读取系统中定义的所有di.xml配置文件并且通过添加所有节点将它们合并在一起。
  • 作为一般规则,特定区域的di.xml文件应该配置为表示层依赖,和你的模块的全局di.xml文件应该配置附属的依赖。Magento 2加载配置在以下几个阶段 :
    1. Initial(初始) (app/etc/di.xml)
    2. Global(全局) (<模块目录>/etc/di.xml)
    3. Area-specific(特定区域) (<模块目录>/etc/<area>/di.xml)

3.主题文件结构

一个典型的主题文件结构如下图:

magento 2 开发之旅——框架结构

4.语言包文件结构

一个典型的语言包文件结构如下图:

magento 2 开发之旅——框架结构