Magento 2 文件结构 - 文件夹,模块目录结构

1. Magento 2 文件结构

app

此文件夹中有三个主要子目录,它们是designi18netc您自定义的所有模块都应包含在app/code/<CompanyName>/<ModuleName>目录中。此外,这里还推荐您所有的第三方模块。

您应该将自定义商店主题存储在app/design/frontend子目录下,并且所有管理主题都应存储在app/design/adminhtml子目录中。

app/i18n目录是存储语言包的文件夹。如果您想创建一个可以更好地满足客户需求的多语言商店,您可以使用此文件夹。

全新安装后,code子目录将丢失。此外,为避免自定义模块与 Magento 的核心模块混合,您需要在vendor目录中添加所有 Magento 核心模块。这是因为,与 Magento 1 版本中所有 Magento 核心模块都必须提交到其 Git 存储库不同,在 Magento 2 中,这两者是分开的。

通过包含 Magento 核心模块的 Composer,您可以存储所有已安装的软件包。升级供应商文件后,您可以在此文件夹中扩展模块,而不是直接在此文件夹中工作,这样您的所有更改都会被覆盖app/code/<CompanyName> or app/design

phpserver

这具有Router.php可用于实现 PHP 内置服务器的文件。但是,不建议您使用此文件,因为它可能会给您的站点带来许多潜在的重大安全漏洞。

bin

Magento CLI 可执行脚本存储在此目录中。使用此脚本,将激活 Magento 命令,这有助于清除缓存或重新索引。

setup

这包含与 Magento 的安装设置相关的所有文件

generated

这是存储 Magento 生成的代码的地方。默认情况下,如果类被注入到构造函数中,Magento 会生成代码来创建不存在的工厂类。


var

这包括生成的类、会话、缓存、数据库备份和缓存的错误报告。在此文件夹中,您可以生成许多子目录的内容,包括var/di运行php bin/magento setup:di:compile时间。

var/log存储 Magento 日志文件主要是 exception.log 和 system.log 文件。

var/cache包含 Magento 的所有缓存。建议您使用php bin/magento cache:clean命令清除缓存,以便查看您的开发更改。

dev

这包含所有 Magento 和供应商库文件。它还包括所有基于非模块的 Magento 代码。

lib

一个index.php文件将存储在此目录中。您可以使用此文件在生产模式下运行应用程序。此目录为您提供了一种安全措施,可以限制对根目录资产的公共访问。此外,此文件夹还包括您的 Magento 主题生成的静态文件

pub

这是一个包含框架核心的目录。这里也是您可以安装附加模块的地方。供应商文件夹的所有操作都是使用 composer.json 文件进行的。如果您查看此文件夹,您将看到没有文件或文件夹。这仅仅是因为 composer.json 将创建这些文件和文件夹。您将能够看到在 composer.json 文件下定义的大量包。


2. 组件文件结构

您可以看到Magento 2 文件结构包含 app、bin、setup、phpserver、var、generated、lib、pub、dev。在下图中查看更多信息。

在提供了有关定义和结构的一些基本知识之后,在这一部分中,我将介绍组件类型的不同文件结构。Magento 的应用程序将查找创建组件的文件,包括组件文件结构内特定位置的配置文件。为了确保组件类型正常工作,您需要遵循预定义的文件结构。

根目录

组件的根目录与其名称匹配,还包括其所有子目录和文件。根据您安装 Magento 的方式,您的组件的根目录可以放在以下两个位置之一:

  • <Magento install directory>/app: 这是组件开发的一个可取的位置。通过使用克隆 Magento 2 GitHub 存储库,您可以设置此环境。

    • 申请app/code模块

    • 申请app/design/frontend店面主题

    • 申请app/design/adminhtml管理员主题

    • 申请app/i18n语言包

  • <Magento install directory>/vendor:这个位置可以在 composer create-project 用于安装 Magento 2 元包的安装中找到,通过该包下载 CE 或 EE 代码。如果您提取压缩的 Magento 2 存档以安装 Magento,也可以找到此位置。

所需文件

所有组件都需要以下文件:

  • registration.php:这是将您的组件注册到 Magento 的文件。在此文件中,组件的根目录名称用作组件名称。因此,默认情况下,组件安装在<Magento root dir>/vendor directory.

  • etc/module.xml:这是定义组件基本信息的文件,例如组件依赖关系和版本号。版本号将用于确定在执行时更新哪些模式和数据bin/magento setup:upgrade

  • composer.json:这是定义组件在运行时所需的依赖项的文件。

3.模块文件结构

在下图中,您将看到典型的文件结构如下所示:

常用目录

以下是一些常见的模块目录:

  • Block:包括 PHP 视图类作为模块逻辑模型视图控制器(MVC)垂直实现的一部分。

  • Controller: 包括 PHP 控制器类作为模块逻辑 MVC 垂直实现的一部分。

  • etc:包括配置文件;尤其是module.xml,这是必需的。

  • Model: 包括 PHP 模型类作为模块逻辑 MVC 垂直实现的一部分。

  • Setup:包括模块数据库结构和数据设置的类。这些数据在安装或升级时被调用。

其他目录

这些文件夹可以添加用于配置或其他项目辅助功能,例如本地化、插件和布局文件。

  • Api: 包括任何暴露给 API 的 PHP 类。

  • Console: 包括 CLI 命令。

  • Cron: 包括 cron 作业定义。

  • CustomerData: 包括部分文件。

  • Helper: 包括聚合功能。

  • i18n: 包括本地化文件。

  • Observer: 包括用于执行来自侦听器的命令的文件。

  • Plugin: 包括任何需要的插件。

  • UI: 包括数据生成文件。

  • view:包括视图文件,包含静态视图文件、电子邮件模板、设计模板和布局文件。


nba2k2球员数据
请先登录后发表评论
  • 最新评论
  • 总共0条评论