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 相关文章推荐
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
PHP开发负载均衡指南
Jul 17 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
php时间戳转换的示例
Mar 31 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
数据结构之利用PHP实现二分搜索树
Oct 25 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/02 无线电
一个MYSQL操作类
2006/11/16 PHP
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
决策树的python实现方法
2014/11/18 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
行政助理的职责
2013/11/14 职场文书
高级技校毕业生自荐信
2013/11/18 职场文书
自荐书范文
2013/12/08 职场文书
员工培训邀请函
2014/01/11 职场文书
求职意向书范文
2014/04/01 职场文书
四年级小学生评语
2014/12/26 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python
Python中的 enumerate和zip详情
2022/05/30 Python