Zend Framework 2 module.config.php配置详解
来源:互联网 发布:amaze ui 知乎 编辑:程序博客网 时间:2024/06/06 03:38
先列一下zendframework 2中一会要讲到的配置相关的典型的目录结构:
先来看ZendSkeletonApplication(Skeleton是骨架,搭架子的意思)生成的入口文件public/index.php的默认代码
直接看最后一行:
该行表明入口文件加载了我们开头列出的config/application.config.php文件,并以此文件的配置信息来启动应用。接下来我们再来看看config/application.config.php的代码,为了简化,这里删除了默认被注释掉的部分:
这段代码注意两个地方,第一是在‘module’部分添加了一个Blog模块,因为后面要分析该模块的配置文件与Application模块的关系;第二是全局配置及本机配置路径,全局配置(config/autoload/global.php)一般用来存放一些全局的配置,如新浪微博登录的appkey,本机配置(config/autoload/local.php)用来存放与本机相关的配置,如数据库的用户名,端口等信息,涉及敏感信息的请不要把该文件上传到公用的git、svn等源码库中。
接下来是要重点讲的各模块的配置文件,他们位于各module之下,一般命名为module.config.php,里面包含路由,服务管理,多语言,控制器,视图管理等部分,这里以module/Application/module.config.php为例,介绍下常用的多语言,控制器和视图管理部分,路由是用得最多的,网上也很多相关资料,这里暂不解释。
多语言很简单,locale项配置当前语言,zh_CN表明使用简体中文,translation_file_patterns项配置了语言文件所在的位置:
控制器项配置了Service至实际Controller的映射,Service在路由配置及serviceLocator->get()中使用,为了好记,一般key和value只差Controller几个字符而已。。。
最后来看视图配置,直接在代码中的注释看吧
对于view_manager的配置值得一提的有几点:
1、doctype配置后,需要在layout模板开头加上以下代码才能起作用:
2、如果几个模块的module.config.php都配置了template_map项,不同的key会merge,相同的key会相互覆盖,以最后一个加载的为准,加载的顺序与config/application.config.php中“modules”的配置一致。比如这个例子中,module/Blog/config/module.config.php中的template_map如果也配置如下值:
那么Application与Blog模块的布局就都会变成由Blog模块下的布局文件决定。这一点对于新手可能不好理解,我猜想官方这样做,意思是application.config.php对应一个子系统,该文件加载的module是该子系统的模块,一个子系统所对应的布局模板应该是一致的。如果需要实现不同子系统,可以用另一种方式来实现,可参考《Zend Framework 2多域名多模块部署》。
3、template_path_stack项配置了模板路径库,在Controller中View->setTemplate($path)调用时,$path将会在该配置下的所有路径下寻找,直到找到为止,都找不到就会报错。不同模块的该配置值会merge,先加载的模块的路径会在前面。
- Zend Framework 2 module.config.php配置详解
- Zend Framework 2 Module.php 简要说明
- Zend Framework Module之多模块配置
- zend framework php 小结2
- PHP Zend framework 配置与调试(一)
- PHP Zend framework 配置与调试(二)
- php zend framework框架配置(1)
- 快速创建一个zend framework 2的module
- Zend Framework 2 : Move out your listeners from Module class
- php Zend framework 学习
- zend framework php
- Php Zend framework
- PHP zend framework学习心得
- php/zend framework学习心得
- PHP zend framework学习心得
- Zend Framework 2 Service Manager 配置方法
- 配置Zend Framework
- 配置Zend framework环境
- ORA-16179: incremental changes to "log_archive_dest_1" not allowed with SPFILE
- xcode6 使用MJRefresh时报错解决方法
- c中exit和return的区别
- Event 标签的运用
- oracle 写代码块 (可写游标,这些来处理数据)
- Zend Framework 2 module.config.php配置详解
- Mosquitto的PHP扩展安装流程
- ubuntu 源更新失败问题(sudo apt-get update)
- Openvswitch手册(1): 架构,SSL, Manager, Bridge
- post上传图片到服务器
- 面试攻略 上
- Java并发协作——生产者、消费者模型
- EJB规范的三种Bean
- OpenCV计算连通区域数目与最大连通区域并标示出