如果我的项目中有多个模块,例如我的 UI 模块和我的数据库模块……是什么决定了执行哪个模块?有一个数组,application.config.php
我在想你的模块名称空间在其中列出的顺序可能会影响这种情况,但情况似乎并非如此。
我知道这很简单,可能在文档中(我确实看过!)
TIA
如果我的项目中有多个模块,例如我的 UI 模块和我的数据库模块……是什么决定了执行哪个模块?有一个数组,application.config.php
我在想你的模块名称空间在其中列出的顺序可能会影响这种情况,但情况似乎并非如此。
我知道这很简单,可能在文档中(我确实看过!)
TIA
在 ZF2 中,“应用程序”只是模块的容器。模块本身就是实现应用程序功能的东西。例如,在Zf2SkeletonApplication 示例中,应用程序的功能(不包括 CSS、图像和 javascript 等资产)包含在名为 "application" 的模块中。
当 ZF2 项目加载时,其中声明的所有模块application.config.php
都被初始化,并且它们的配置(包括路由)被合并到父应用程序配置中。
两个主要因素决定了应用程序运行时执行的大部分代码:
Module.php
文件中包含的模块初始化(来自 Zf2 Skeleton 的示例)。此初始化代码定义了模块的配置路径、自动加载和事件处理。出于性能目的,初始化代码需要尽可能轻量级。为简单起见,我省略了一些错综复杂的内容,但这是一个很好的总体概述。
ZF2 入门教程之类的教程对于学习基础知识非常有价值。
编辑:我应该注意,“应用程序级路由”是在“模块级”修改的,因为配置都被合并并且模块本身实现了应用程序。