在zend 2中简要介绍module.config.php

时间:2014-05-14 07:09:59

标签: php zend-framework2

我是zend 2中的新手。我很难理解module.config.php文件。

  

例如什么是service_manager,translator,view_manager,console,router,routes等?   在何处,何时以及如何使用此配置?

我搜索zend2文档,但没有找到详细信息。 我也发现了差异。教程,但他们不解释代码。

提前致谢。

2 个答案:

答案 0 :(得分:2)

<强> Module.config.php 它是一个包含模块所有特定配置的文件,该文件将与其他模块中的其他配置参数合并。 您必须了解ZF2是模块驱动的,这意味着每个模块与其他模块独立工作,并且每个模块都可以与其他模块一起工作,但是,如果您停用一个模块,您的应用程序仍然有效。

但是每个模块都需要特定的配置,这就是module.config.php用于。

的原因

服务经理 允许你实现这样的工厂:

    'controllers' => array(
        'factories' => array(
            'Test\Controller\Test' => 'Test\Factory\TestControllerFactory',
        ),
    ),
    'service_manager' => array(
        'factories' => array(
            'Test\Service\Test' => 'Test\Factory\TestServiceFactory',
        ),
    ),

当你有这样的模型时:

Entity<-DAO<-Service<-Controller<-View

您通过服务管理器实现工厂,这用于依赖注入。 我的TestService例如依赖于其他类(如ObjectManager)或者我的控制器需要与TestService依赖性实例化。 Service Manager可以在其他对象中注入实例。

如果你必须学习zf2,你可以从官方网站上的专辑教程开始。

<强>翻译

module.config.php中的翻译器允许您定义模块的默认本地,并定义翻译的存储位置。

查看管理器用于告知应用程序您的查看位置。你必须声明一个template_map(它比模板路径堆栈更快)但是声明两者都很好。你只需要放置你的视图文件所在的位置。

<强>路由

您的模块路径和模块的路径(每个模块都是独立的),配置将被合并,请记住。

如果你想要一个例子,你可以在github上查看这个repo: Album tutorial

Edit2:为了更好地理解,Zend Framework可能你需要检查第一个使用的设计模式和概念: Factory DAO Dependency Injection 和其他人......

答案 1 :(得分:2)