ThinkPHP项目分组配置方法分析


Posted in PHP onMarch 23, 2016

本文实例讲述了ThinkPHP项目分组配置方法。分享给大家供大家参考,具体如下:

项目分组概述

项目分组是 ThinkPHP 一个重要机制,项目分组功能可以把以往的多项目合并到一个项目中去,对于公共的文件可以重用,但每个分组又可以有自己独立的配置文件、公共文件、语言包等。

以一个普通的网站为例,如果不采用项目分组,那么通常是将网站前台(提供给用户浏览部分)作为一个项目。而网站的后台管理部分,可能有独立的配置文件,CSS文件及模板等,因此作为另一个项目来管理。但实际上这两个项目都是网站的内容,他们之间可以共享一些内容如数据库配置文件甚至一些模型类和跨项目操作等。

项目分组就很好的解决了同一个系统下各项目之间的共性与个性问题。

项目分组配置

在系统配置文件(Config/config.php)里面进行简单的项目分组配置即可开启项目分组。

与项目分组模式有关的配置有五个:

配置选项 说明 例子或建议
APP_GROUP_LIST 项目分组所有名称列表,若不设置则表示不启用项目分组模式 'APP_GROUP_LIST'=>'Home,Admin,User,Blog',
DEFAULT_GROUP 默认的项目分组名称,系统默认是 Home 'DEFAULT_GROUP' =>'Home',
APP_GROUP_DEPR 项目分组之间的分割符,默认是 . (点),用于 A函数 D函数 和 路由配置中的分隔 建议默认
TMPL_FILE_DEPR 模板文件中模块与操作之间的分割符,默认是 / ,只对项目分组部署有效 建议默认,可使用 U 方法自动生成 URL
VAR_GROUP 获取项目分组名称的变量,默认是 g index.php?g=Admin&m=Index&a=edit,建议默认

当 TMPL_FILE_DEPR 配置为 _ 时,以 Admin 分组 Index 模块 add 操作来说,其对应的模板文件由原来的:

Tpl/default/Admin/Index/add.html

变更为:

Tpl/default/Admin/Index_add.html

通过这个配置,使模板目录结构减少了一层目录。

提示:TMPL_FILE_DEPR 同时也是语言文件中分组语言定义与语言文件之间的分隔符。

以上配置选项中,要启用分组,APP_GROUP_LIST 必须设置,其他选项则根据实际情况加以配置。

项目分组个性配置

如果要为分组的项目添加独自的个性化配置,可以在配置目录 Conf 下,建立与项目组名称相同的目录(目录命名格式是:分组名称的首字母大写+其余字母小写的形式),并在目录内定义一个 config.php 配置文件。如 Admin 项目的个性配置文件:

Conf/Admin/config.php

当分组名称的目录下有定义 config.php 文件时,每次访问该分组,系统会自动加载分组的独立配置并覆盖公共配置中相同选项的设定。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP如何透过ODBC来存取数据库
Oct 09 PHP
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
PHP排序之二维数组的按照字母排序实现代码
Aug 13 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
php中的动态调用实例分析
Jan 07 PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 PHP
php数组合并与拆分实例分析
Jun 12 PHP
PHP函数import_request_variables()用法分析
Apr 02 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
Mar 23 #PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
Mar 23 #PHP
ThinkPHP路由机制简介
Mar 23 #PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 #PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 #PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 #PHP
Zend Framework开发入门经典教程
Mar 23 #PHP
You might like
用PHP4访问Oracle815
2006/10/09 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
php中的观察者模式简单实例
2015/01/20 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
Python脚本实现格式化css文件
2015/04/08 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
Django REST framework 分页的实现代码
2019/06/19 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
python SVD压缩图像的实现代码
2019/11/05 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
国贸专业个人求职信范文
2014/01/08 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
商业门面租房协议书
2014/11/25 职场文书
应届生简历自我评价
2015/03/11 职场文书
关于倡议书的范文
2015/04/29 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
新郎新娘致辞
2015/07/31 职场文书
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers