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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
Feb 15 PHP
php引用返回与取消引用的详解
Jun 08 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
php array_keys 返回数组的键名
Oct 25 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 PHP
PHP+Mysql分布式事务与解决方案深入理解
Feb 27 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
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
PHP实现的购物车类实例
2015/06/17 PHP
php验证手机号码
2015/11/11 PHP
开启PHP的伪静态模式
2015/12/31 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
jquery判断浏览器类型的代码
2012/11/05 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
简单的js表单验证函数
2013/10/28 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
使用Javascript简单计算器
2018/11/17 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
python中函数传参详解
2016/07/03 Python
django站点管理详解
2017/12/12 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
电子商务毕业生求职信
2013/11/10 职场文书
学生自我鉴定
2013/12/18 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
js不常见操作运算符总结
2021/11/20 Javascript
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python