加载中...

3.1 Module 文件


路径:/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的文件搜索或路由也是通过空间来定位的。再者就是有了空间可以更好的去管理各种类,方便文件功能归类及使用。


还没有评论.