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制作静态网站的模板框架
Oct 09 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
必须收藏的23个php实用代码片段
Feb 02 PHP
php PDO异常处理详解
Nov 20 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 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无限级栏目分类读取的实现代码
2014/02/19 PHP
php实现求相对时间函数
2015/06/15 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
PHP运行模式汇总
2016/11/06 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
Python列表(list)常用操作方法小结
2015/02/02 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python turtle画图库&&画姓名实例
2020/01/19 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
2014公司年终工作总结
2014/12/19 职场文书
小学运动会入场口号
2015/12/24 职场文书
趣味运动会口号
2015/12/24 职场文书
python保存图片的四个常用方法
2022/02/28 Python
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js