项目结构概述
任何框架的目录结构都难以挑战和理解。Magento 2 Open Source在这里也不例外,在进行任何开发之前了解项目结构非常重要。
在本课程中,我们将学习Magento 2开源项目结构。它将帮助您了解文件和目录,以及每次使用Magento 2 Open Source项目时在哪里查看。
总览
让我们看一下Magento 2开源项目的结构。
首先,我们必须了解这是安装Magento 2 Open Source应用程序时附带的文件和目录的列表。并非所有文件都是开发所必需的。此外,并非所有文件都需要运行Magento 2开源应用程序。
在开发过程中,有些文件可能永远不会打开。需要其他文件才能经常更改和修改报价。
在本课程中,我们将介绍位于项目结构顶层的所有Magento 2开源项目文件。但是,本课程将不介绍成千上万的文件和PHP类。在Mage Mastery教育之旅和下一期Magento 2初学者课程中,我们将介绍与不同Magento 2开源模块相关的不同类和功能。
应用程序入口点
我们必须开始的第一个文件是index.php
file。这是您的应用程序的入口。每当Magento 2开源应用程序收到传入的HTTP请求时,该index.php
文件都会对其进行处理。根据服务器文档的根配置,您还可以配置目录中的类似index.php
文件pub/
。
出于安全原因,建议将Magento 2开源应用程序的文档根目录配置为指向pub/
目录。
您所有的调试活动都应从该index.php
文件开始。从该文件中,您可以更深入地了解应用程序执行过程,以了解Magento 2 Open Source的工作方式以及应用程序的哪个部分处理HTTP请求。
应用目录
该app
目录负责存储所有配置文件,以及Magento 2开源应用程序中安装的所有主题。
主题文件包括PHTML,HTML,CSS,LESS,JavaScript和图像。另外,在app
目录内您可以找到源代码文件。code
空的Magento 2开源安装目录中当前没有文件。通常,所有其他自定义项都在app/code
目录内进行。
该app/etc
目录包含Magento 2开源应用程序的所有默认配置设置。在应用程序安装后,env.php
文件。这是一个主文件,您可以在其中找到数据库连接设置,与缓存相关的设置以及其他设置,这些将在下一课中介绍。
Magento 2平台使用XML文件存储配置设置和依赖项注入(服务容器)配置。在di.xml
位于文件app/etc
目录是依赖注入配置的一个很好的例子。我们将讨论不同类型的XML文件,以便提供用于创建或自定义功能的配置设置。
该config.php
文件提供了所有可用的Magento 2模块,这些模块可用于Magento 2开源应用程序。每个模块均处于活动/禁用状态,从而允许Magento 2 Open Source包含模块的功能。
bin目录
该bin
目录提供了Magento CLI(命令行界面)工具。它通过CLI提供了到不同Magento 2命令的接口,以在Magento 2应用程序中执行更改。此类命令的示例可以是缓存清除或编译。
开发目录(dev)
该dev
目录包含与Magento 2 Open Source一起提供的所有测试。每个目录都包含特定类型的测试以及有助于执行测试的其他代码。
该dev/tools
目录提供了不同的工具及其配置,例如Grunt和其他不常用的文件。
生成的目录(generated)
该目录包含所有自动生成的PHP类。Magento 2依赖于PHP代码生成。
我们将不时地查看generated
目录,以了解用于执行特定操作的逻辑。
lib目录
该目录包括internal
和web
目录。
该internal
目录不是我们要使用的目录。该web
目录提供前端或与Web相关的文件。它包括JavaScript第三方库,例如jQuery,KnockoutJS,RequireJS和其他库。还web
包括CSS / LESS文件以及UI文档。phpserver目录
phpserver目录
它提供了一个可用于开发的简单PHP服务器。不建议将router.php
用作Magento 2开源生产配置的一部分.
pub目录
Magento 2 Open Source随附的下一个pub
目录是目录。
这是Magento 2应用程序的服务器根目录。该index.php
负责处理HTTP请求的主文件。有一个static.php
文件负责处理所有JavaScript,CSS和HTML文件并在pub/static
目录中查找文件。
不论是通过Magento Admin还是通过编程方式上传的所有媒体内容都存储在pub/media
目录中。每次您必须检查导入执行的结果或要查找媒体文件时,都必须检查此目录。
setup 目录
此目录用于提供Web安装向导和其他与安装有关的脚本
除了我们在上一课中进行的命令行安装之外,这是第二种方式,您可以如何安装Magento 2 Open Source 。通常,这不是我们要使用的目录。
var目录
您可以找到Magento 2应用程序和会话目录的缓存。如果您的配置说所有会话都必须存储在文件系统中,则该var/session
目录将保存所有用户会话文件。
同样,将var/log
在其中创建和存储所有错误(PHP异常)的目录。
vendor 目录
该目录包括所有已安装的第三方依赖关系。该vendor/magento
目录下还包含Magento 2源文件。在开发过程中,我们将经常查看该目录。
其他的文件
Magento 2 Open Source为Apache服务器和Nginx提供了不同的示例配置文件。例如文件grunt-config.json.sample
,Gruntfile.js.sample
并packages.json
负责安装前端/ JavaScript的依赖关系。
最后一个是composer.json
文件。它提供了Magento 2应用程序中的所有依赖关系。我们是否要安装其他Magento 2模块或测试应用程序。在开发过程中,该文件将被频繁使用。
最后说明
这就是我想在本课中向您展示的内容。在Mage Mastery课程中,我们将工作并了解有关每个项目目录和文件的更多信息.