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检测用户是否用手机(Mobile)访问网站的类
Jan 09 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
php使用递归计算文件夹大小
Dec 24 PHP
php通过rmdir删除目录的简单用法
Mar 18 PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
PHP convert_cyr_string()函数讲解
Feb 13 PHP
php进行md5加密简单实例方法
Sep 19 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 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
PHP 身份证号验证函数
2009/05/07 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
10条php编程小技巧
2015/07/07 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
node 版本切换的实现
2020/02/02 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
python爬取内容存入Excel实例
2019/02/20 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
大学生实习期自我评价范文
2013/10/03 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
世界气象日活动总结
2015/02/27 职场文书
2015年采购部工作总结
2015/04/23 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers