ThinkPHP3.2.2及以上版本同一应用多模块和多应用多模块的实践
来源:互联网 发布:ios md5算法原理 编辑:程序博客网 时间:2024/06/15 21:09
ThinkPHP3.2.2及以后版本同一应用多模块和多应用多模块的设计已经比以前的版本更加简单快捷。
注:入口文件为index.php,内容为:
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st <liu21st@gmail.com>// +----------------------------------------------------------------------// 应用入口文件// 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为falsedefine('APP_DEBUG',true);//定义项目名称define('APP_NAME','Home');// 定义应用目录define('APP_PATH','./App/');// 引入ThinkPHP入口文件require './ThinkPHP/ThinkPHP.php';// 亲^_^ 后面不需要任何代码了 就是如此简单
一、同一应用多模块
方法①
最简单的方法就是此方法,直接在应用目录App下复制Home文件夹,改名为Admin,并修改控制器的应用空间即可,我就是用的此方法。
访问两个模块的地址分别是:
http://127.0.0.1:8080/Thinkphp5/index.php/或http://127.0.0.1:8080/Thinkphp5/index.php/Homehttp://127.0.0.1:8080/Thinkphp5/index.php/Admin
方法②
在入口文件所在目录新建一个文件admin.php。键入以下代码(和同目录index.php大体相同,只是修改了第7行)
<?php// 应用入口文件// 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为falsedefine('APP_DEBUG',True);define('BIND_MODULE','Admin');// 定义应用目录define('APP_PATH','./Application/');// 引入ThinkPHP入口文件require './ThinkPHP/ThinkPHP.php';// 亲^_^ 后面不需要任何代码了 就是如此简单
然后访问此php文件即可在App目录下自动新建一个Admin模块。
访问两个模块的地址分别是:
http://127.0.0.1:8080/Thinkphp5/index.phphttp://127.0.0.1:8080/Thinkphp5/admin.php
二、多应用多模块
在根目录新建相应的入口文件即可,指定项目名称和应用目录即可。
三、继承公用配置代码的方法
通常一个应用下的多个模块使用部分相同的配置代码,如何实现继承公用的配置文件呢?
方法如下(公用代码以数据库配置代码‘DB_DSN’为例):
在App目录下新建一个config,php文件,贴入以下多模块的公用代码
<?php return array( //'配置项'=>'配置值' 'DB_PREFIX'=>'tp_', 'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp', );?>
在每个模块单独的配置文件中这样写:
<?php$arr=include './App/config.php';$arr2=array( //'配置项'=>'配置值' //此处配置此模块私有的配置);return array_merge($arr,$arr2);?>
这样既可实现公用的配置代码。因为thinkphp的配置代码会返回一个数组,使用array_merge方法合并两个数组即可。
四、本文手打,=_=,文章源地址:http://www.iiii.name/thinkphp-2015-2-16.html
0 0
- ThinkPHP3.2.2及以上版本同一应用多模块和多应用多模块的实践
- Struts 多模块应用
- Python多进程应用的subprocess模块、multiprocessing模块
- THINK5多模块-多应用的误区
- python logging模块的多文件应用
- Struts配置多应用模块
- maven构建多模块应用
- 同一数据库的多应用
- thinkphp3.2定义多模块并设置默认模块
- thinkphp3.2版本添加模块
- os模块及os.path模块的应用举例
- 温度采集模块的分类及应用
- thinkphp3.1.2控制器的模块和操作
- ThinkPHP 多应用多模块建立方式
- Struts 之旅 - 配置多应用模块
- 企业中squid+iptables多模块的综合应用案例
- flask使用Blueprint进行多模块应用的编写
- 中职“网络班级”中家校沟通模块的应用实践
- Apache+tomcat实现高可用WEB集群----简介
- 刚学Android遇到的问题 findViewById值为null(新版本)
- java多线程下载美女图片
- Linux网络概述
- 一路相伴--结婚第七年
- ThinkPHP3.2.2及以上版本同一应用多模块和多应用多模块的实践
- js 性能优化--事件委托
- Java中如何实现QR(二维码)的生成
- 项目四--枚举(点和距离)
- qt for linux 配置
- HDU-2149-Public Sale(巴什博弈!)
- iOS布局格式语言(Visual Format Language)
- PHP 复习巩固笔记
- TCP程序设计