首页 > 新闻资讯 > 西安格创网络教你在微擎中集成TP框架
西安格创网络教你在微擎中集成TP框架
时间:2019-09-04
一、微擎继承TP框架要点
1、可以直接使用微擎自身的登陆
2、可以直接使用微擎的$_W全局变量
3、可以直接使用微擎的数据库配置文件
除了以上三点,其他功能全部使用tp自身的方法实现
二、实现原理
将TP网站放置在模块文件夹下,相当于在微擎站点下新建了一个单独的站点,然后将微擎的$_W全局变量存入session之中,供TP使用。
三、具体实现
1、跳转向TP框架
在需要跳转向TP框架的方法中加入以下代码
global $_W;
//开启session,将全局变量存入$_SESSION中
@session_start();
$_SESSION['tp_W'] = $_W;
//直接跳转向tp的入口文件 MODULE_URL是当前模块完整路径
$url = MODULE_URL."index.php";
//$url = "{$_W['siteroot']}addons/{$_W['current_module']['name']}/index.php";
header('Location:' . $url);
实例:
2、TP5数据库配置文件自动获取微擎配置
//必填
define("IN_IA",true);
//配置文件目录,根据实际路径修改
require __DIR__ . '/../../../data/config.php';
//获取微擎数据库配置
$db=$config['db']['master']?$config['db']['master']:$config['db'];
return [
'type' => 'mysql',
// 服务器地址
'hostname' => $db['host'],
// 数据库名
'database' => $db['database'],
// 用户名
'username' => $db['username'],
// 密码
'password' => $db['password'],
// 端口
'hostport' => $db['port'],
实例:
3、在TP中使用微擎的全局变量
@session_start();
print_R($_SESSION['tp_W');
注:tp中无法使用自带的session方法获取到微擎的全局变量。
4、验证登陆
if($_SESSION['tp_W']['username']){
echo "已登录";
}else{
echo "未登录";
}
四、集成缺陷
1、无法使用微擎集成好的方法和组件。
2、因为session和微擎的不同步,导致无法准确判断微擎是否登录,会出现微擎退出登录后,依然可以登录tp框架的bug。
3、集成已经开发好的tp程序时,需要对所有的数据表增加uniacid字段,所有的数据库读取语句增加相应的搜索条件以适应微擎的多公众号功能。
不过想要开发微擎最好还是来找西安格创网络科技有限公司,西安格创开发实力雄厚,产品涉及医药卫生、建筑、IT、娱乐、物流、咨询、房产、汽车等各个行业,是您解决疑问和难题的良好保证。