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类
Apr 09 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
PHP结合Jquery和ajax实现瀑布流特效
Jan 07 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 PHP
laravel Model 执行事务的实现
Oct 10 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 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/08/21 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
编程语言Python的发展史
2014/09/26 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
python try except 捕获所有异常的实例
2018/10/18 Python
在python中用url_for构造URL的方法
2019/07/25 Python
python实现交并比IOU教程
2020/04/16 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
HTML5 canvas基本绘图之绘制线段
2016/06/27 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
赡养老人协议书
2014/04/21 职场文书
健康家庭事迹材料
2014/05/02 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
先进单位申报材料
2014/12/25 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL