Magento2开发教程 - Magento 2 Module(模块)配置文件
2017-05-29 08:05
465 查看
Magento 2 Module(模块)配置文件概述
Magento 1.x版本的config.xml配置文件的任务现在分成几个文件,分布在各个模块的目录。Magento 2的多个配置文件的负载需求只有当模块请求一个特定的配置类型。您可以使用这些文件,来自定义模块的特定功能。
多个模块可以声明同一文件
以下是本主题中常用的术语:
Configuration object(配置对象)Magento 2的库或者类负责定义和验证配置类型. 例如, 配置对象
config.xml是 Magento\Framework\App\Config的配置对象Configuration stage(配置阶段 )阶段被定义为 primary, global, 和 area. 每个阶段确定配置类型何时加载并与相同的命名配置类型合并,更多信息,参见,配置加载与合并.Configuration scope(配置范围)与配置阶段互补,范围定义了配置类型模型. 例如,
adminhtml是与其他模块一起加载的后台区域范围
adminhtml配置 . 更多信息, 查看Modules(模块) 和 areas(区域).
配置加载和合并
本节讨论如何配置和加载配置文件。Magento 2 如何加载配置文件
Magento 2按照以下顺序加载配置文件(所有的路径都是相对于你的Magento 2安装目录):主要配置 (
app/etc/di.xml). 此文件是用来引导Magento 2.
从全局配置模块 (
<您的组件基础目录>/<vendorname>/<component-type>-<component-name>/etc/*.xml). 从所有模块收集某些配置文件并将它们合并在一起。.
模块的特定区域配置(
<组件基础目录>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml). 从所有模块收集配置文件并将它们合并到全局配置中。某些特定区域的配置可以覆盖或扩展全局配置。
<组件基础目录>是您的组件位于的基本目录. 典型值是
app/code或
vendor相对于Magento 2安装目录。
<vendorname>是组件的vendor名称;例如,Magento 2的vendor名称
magento.
<component-type>是下列之一:
module-: 扩展或模块.
theme-: 主题.
language-: 语言包.
目前,主题位于
<Magento 2 安装目录>/app/design/frontend或
<Magento 2 安装目录>/app/design/adminhtml
<component-name>: 定义的组件名称
composer.json.
配置文件合并
在配置文件中的节点进行合并的基础上完全合格的XPath,它有一个特殊的属性$idAttributes宣称它的标识符定义数组。对于同一父节点下嵌套的所有节点,此标识符必须唯一。
Magento 2的合并方法如下:
如果节点标识符相等(或没有定义标识符),则节点中的所有基本内容(属性、子节点和标量内容)将被重写。
如果节点标识符不相等,则该节点是父节点的新子节点。
如果原始文档具有多个具有相同标识符的节点,则会引发错误,因为无法区分标识符。
配置文件合并后,生成的文档包含原始文件中的所有节点。
配置类型、对象和接口
下面提供部分的有关配置类型及其相应的配置对象和可用于对象的接口的信息:配置类型和对象
配置接口
配置类型和对象
Configuration file | Description | Stage | Configuration object |
---|---|---|---|
config.php和 env.php | 部署配置 | Loads into memory when Magento initializes | Has no object, cannot be customized |
config.xml | System configuration | primary, global | \Magento\Framework\App\Config |
di.xml | 依赖注入 configuration | primary, global, area | \Magento\Framework\ObjectManager\Config |
events.xml | Event/observer configuration | global, area | \Magento\Framework\Event |
routes.xml | Route configuration | area | Magento\Framework\App\Route\Config |
配置接口
您可以使用配置接口下的配置文件Magento\Framework\Config. 如果创建新的配置类型,也可以使用这些接口。Magento\Framework\Config提供以下接口:
Framework\Config\ConverterInterface, 将xml转换为配置的内存数组表示形式。
Framework\Config\DataInterface, 它在指定范围内检索配置数据。
Framework\Config\FileResolverInterface, 它标识要读取的文件的位置
\Magento\Framework\Config\ReaderInterface
Framework\Config\ReaderInterface, 它从存储器中读取配置数据,并选择从其中读取的存储。
相关文章推荐
- Magento 新闻模块开发教程 (四) 创建模块的xml配置文件
- magento的运费模块开发教程(Customize Magento Shipping Module Tutorial)
- Magento 新闻模块开发教程 (八) 建立模板文件
- Flex Viewer 开发教程(2)Widget配置文件
- Magento 新闻模块开发教程 (二) 激活你的模块
- Magento 新闻模块开发教程 (九) 建立Block
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架- 5.4平台日志、异常管理、生成自动升级配置文件模块
- Magento 新闻模块开发教程 (五) 创建辅助类
- jfinalQ开发教程05-qiao-util.jar:常量和配置文件
- 【Flex Viewer】 开发教程(1)Flex Viewer配置文件
- Flex Viewer 开发教程(1)Flex Viewer配置文件
- JavaScript开发工具WebStorm教程:配置个人文件编码
- Flex Viewer 开发教程(1)Flex Viewer配置文件
- Magento模块开发手册(二)magento的配置
- Flex Viewer 开发教程(2)Widget配置文件
- Magento 新闻模块开发教程 (七) 建立模块的SQL
- Magento模块开发教程
- Flex Viewer 开发教程(1)Flex Viewer配置文件
- Magento 新闻模块开发教程 (六) 创建模型
- Nginx 源码分析-- 模块module 解析执行 nginx.conf 配置文件流程分析 二