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 相关文章推荐
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
ThinkPHP CURD方法之where方法详解
Jun 18 PHP
php相对当前文件include其它文件的方法
Mar 13 PHP
php利用反射实现插件机制的方法
Mar 14 PHP
php实现SAE上使用storage上传与下载文件的方法
Jun 29 PHP
php处理复杂xml数据示例
Jul 11 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 PHP
laravel 获取当前url的别名方法
Oct 11 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
下载文件的点击数回填
2006/10/09 PHP
用PHP书写安全的脚本代码
2012/02/05 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
浅谈php冒泡排序
2014/12/30 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
php实现递归的三种基本方式
2020/07/04 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python进程间通信Queue实例解析
2018/01/25 Python
python中map的基本用法示例
2018/09/10 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
优秀员工自荐信范文
2013/10/05 职场文书
初中班级口号
2014/06/09 职场文书
建筑工地大门标语
2014/06/18 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
python析构函数用法及注意事项
2021/06/22 Python
图神经网络GNN算法
2022/05/11 Python