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 相关文章推荐
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
Apr 24 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
PHP类的特性实例分析
Sep 28 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
用Flash图形化数据(一)
2006/10/09 PHP
PHP新手上路(十二)
2006/10/09 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
Python实现对字符串的加密解密方法示例
2017/04/29 Python
Python 变量类型详解
2018/10/10 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
keras多显卡训练方式
2020/06/10 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
Ruby如何创建一个线程
2013/03/10 面试题
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
2014年体育工作总结
2014/11/24 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
python删除csv文件的行列
2021/04/06 Python
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
Python实现socket库网络通信套接字
2021/06/04 Python