- Zend 框架教程
- Zend 框架 - 主页
- Zend 框架 - 简介
- Zend 框架 - 安装
- 骨架应用
- Zend 框架 - MVC 架构
- Zend 框架 - 概念
- Zend 框架 - 服务管理器
- Zend 框架 - 事件管理器
- Zend 框架 - 模块系统
- 应用结构
- Zend 框架 - 创建模块
- Zend 框架 - 控制器
- Zend 框架 - 路由
- Zend 框架 - 视图层
- Zend 框架 - 布局
- 模型和数据库
- 不同的数据库
- 表格和验证
- Zend 框架 - 文件上传
- Zend 框架 - Ajax
- Cookie 管理
- 会话管理
- Zend 框架 - 身份验证
- 电子邮件管理
- Zend 框架 - 单元测试
- Zend 框架 - 错误处理
- Zend 框架 - 工作示例
- Zend 框架有用的资源
- Zend 框架 - 快速指南
- Zend 框架 - 有用的资源
- Zend 框架 - 讨论
Zend 框架 - 模块系统
Zend Framework 提供了强大的模块系统。该模块系统由三个组件组成。它们如下 -
模块自动加载器- 模块自动加载器负责从各种来源定位和加载模块。它也可以加载打包为Phar 档案的模块。Module Autoloader 的实现位于 myapp/vendor/zendframework/zend-loader/src/ModuleAutoloader.php。
模块管理器- 一旦模块自动加载器找到模块,模块管理器就会为每个模块触发一系列事件。模块管理器的实现位于 myapp/vendor/zendframework/zendmodulemanager/src/ModuleManager.php。
模块管理器侦听器- 它们可以附加到模块管理器触发的事件。通过附加到模块管理器的事件,它们可以执行从解析和加载模块到为每个模块执行复杂工作的所有操作。
MVC Web模块系统
Zend Framework 中的 MVC Web 应用程序通常被编写为模块。单个网站可以包含一个或多个按功能分组的模块。面向 MVC 的模块的推荐结构如下 -
module_root/ Module.php autoload_classmap.php autoload_function.php autoload_register.php config/ module.config.php public/ images/ css/ js/ src/ <module_namespace>/ <code files> test/ phpunit.xml bootstrap.php <module_namespace>/ <test code files> view/ <dir-named-after-module-namespace>/ <dir-named-after-a-controller>/ <.phtml files>
结构与前一章中讨论的相同,但这里是通用的。autoload_文件可以用作自动加载模块中可用的类的默认机制,而无需使用zend-modulemanager中可用的高级模块管理器。
autoload_classmap.php - 返回类名及其相应文件名的数组。
autoload_function.php - 返回 PHP 回调。这可以利用 autoload_classmap.php 返回的类。
autoload_register.php - 注册由 autoload_function.php 返回的 PHP 回调。
这些自动加载文件不是必需的,但建议使用。在骨架应用程序中,我们没有使用autoload_ files。
模块类
Module 类应命名为Module,模块类的命名空间应为Module name。这将有助于 Zend Framework 轻松解析和加载模块。骨架(myapp)应用程序myapp/module/Application/src/Module.php中的应用程序模块代码如下 -
namespace Application; class Module { const VERSION = '3.0.2dev'; public function getConfig() { return include __DIR__ . '/../config/module.config.php'; } }
Zend Framework 模块管理器将自动调用getConfig()函数并执行必要的步骤。