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 变量未定义等错误的解决方法
Jan 12 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
php通过curl模拟登陆DZ论坛
May 11 PHP
帝国cms常用标签汇总
Jul 06 PHP
PHP常用的小程序代码段
Nov 14 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
Jan 08 PHP
php+MySQL实现登录时验证登录名和密码是否正确
May 10 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PDO::inTransaction讲解
Jan 28 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实现图象锐化代码
2007/06/14 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
php curl选项列表(超详细)
2013/07/01 PHP
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
Prototype源码浅析 Number部分
2012/01/16 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
JavaScript实现短暂提示框功能
2018/04/04 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
python学习之编写查询ip程序
2016/02/27 Python
Python迭代和迭代器详解
2016/11/10 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
2018/12/11 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
如何使用python进行pdf文件分割
2019/11/11 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
一套Java笔试题
2016/08/20 面试题
工程管理专业个人求职信范文
2013/12/07 职场文书
高中体育教学反思
2014/01/29 职场文书
我的祖国演讲稿
2014/05/04 职场文书
财务管理专业自荐书
2014/09/02 职场文书
个人向公司借款协议书
2014/10/09 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android