路径:/moudle/Application/Module.php
内容如下:
namespace Application; use Zend\Mvc\ModuleRouteListener; use Zend\Mvc\MvcEvent; class Module { public function onBootstrap(MvcEvent $e){ $e->getApplication()->getServiceManager()->get('translator');// 多国语言支持,这个语言文件需要自已添加 $eventManager = $e->getApplication()->getEventManager();// 获取当前已经有事件管理器 $moduleRouteListener = new ModuleRouteListener();// 新建一个路由模块监听器 $moduleRouteListener->attach($eventManager);// 附加事件管理器 } public function getConfig(){ return include __DIR__ . '/config/module.config.php';// 引入模块配置文件 } public function getAutoloaderConfig(){ return array( 'Zend\Loader\StandardAutoloader'=>array( 'namespaces'=>array( __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__ // 导入自动加载空间 ) ) ); } }
代码解释:
namespace Application 创建或访问指定命名空间
use Zend\Mvc\ModuleRouteListener | use Zend\Mvc\MvcEvent 导入包或类
class Module 定义类
public function onBootstrap 启动模块,onBootstrap() 将调用每个已经实现此功能的模块,并且用于执行轻量级任务和注册事件监听器等
public function getConfig 获取此模块中的配置信息,返回一个符合ZF2自动加载工厂规则的数组
public function getAutoloaderConfig 此模块中自动加载配置信息
在此说明一下,在ZF2开始引入了namespace(命名空间)的概念,使得ZF2 与java的相关概念进一步的靠近,这对于已经掌握了java开发的人来说是将是一个好的消息。空间的含义就相当于一个用来装东西的容器,而对于程序来说,空间可以简单的理解为装类的容器;有了空间的出现,所有的类库都将被包含到一个指定的空间里面,因为ZF2的文件搜索或路由也是通过空间来定位的。再者就是有了空间可以更好的去管理各种类,方便文件功能归类及使用。