我是zend 2中的新手。我很难理解module.config.php
文件。
例如什么是service_manager,translator,view_manager,console,router,routes等? 在何处,何时以及如何使用此配置?
我搜索zend2文档,但没有找到详细信息。 我也发现了差异。教程,但他们不解释代码。
提前致谢。
答案 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)
网上有很好的文档。只需通过它,你就会明白最新情况。我不久前也为ZF2做过教学,这里有一些有用的链接:
首先做快速入门: http://framework.zend.com/manual/2.3/en/modules/zend.mvc.quick-start.html
其他重要链接:
http://framework.zend.com/manual/2.3/en/user-guide/modules.html#configuration http://framework.zend.com/manual/2.3/en/modules/zend.service-manager.quick-start.html http://framework.zend.com/manual/2.3/en/modules/zend.module-manager.module-manager.html http://framework.zend.com/manual/2.3/en/modules/zend.mvc.routing.html