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设计模式 Delegation(委托模式)
Jun 26 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
Laravel中的Auth模块详解
Aug 17 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
php实现登录页面的简单实例
Sep 29 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 06 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
ip签名探针
2006/10/09 PHP
php动态生成JavaScript代码
2009/03/09 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
jQuery 表单验证扩展(三)
2010/10/20 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
python的等深分箱实例
2019/11/22 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
旅游项目开发策划书
2014/01/18 职场文书
毕业自我鉴定书
2014/03/24 职场文书
社团活动总结范文
2014/04/26 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
交通事故起诉书
2015/05/19 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
php中pcntl_fork详解
2021/04/01 PHP
vue动态绑定style样式
2022/04/20 Vue.js
Java完整实现记事本代码
2022/06/16 Java/Android