微信实验十、ThinkPHP5.0引导自动创建MYSQL数据库及
(>>>>在公众号中输入文章最后彩蛋即可获取源代码)
开源项目:https://github.com/chenxhjeo,个人博客:http://blog.csdn.net/u013487761
技术QQ群名称:豆豆咨询,群号:625686304
微信公众号名称:豆豆咨询,微信公众号:douAsk
初建日期:2017.04.19
一、实验目的
1、掌握ThinkPHP5.0引导自动创建MYSQL数据库。
二、实验内容
1、建立不同的ThinkPHP5.0不同页面,包括使用协议、环境监测、创建数据库等,设定创建MYSQL数据库的基本信息。
2、引导自动创建MYSQL数据库。
三、实验步骤及过程
微信后台需要与数据库交互,那么首先需要建立数据库,本次实验我们通过ThinkPHP5.0来创建数据库,省去了直接对MYSQL管理的步骤。我们借鉴并移植白俊遥的开源项目thinkphp-bjyadmin(基于ThinkPHP3.0的博客系统),书写了基于ThinkPHP5.0的版本。
1、创建博客数据库的界面
我们下载开源项目文件,并修改了入口文件为admin.php,系统访问http://127.0.0.1/ThinkPHP/admin.php,系统将显示博客安装向导,包括1)使用协议;2)环境监测;3)创建数据;4)安装完成。图示如下所示。
2、关键代码解析
admin.php为入口文件,即通过http://127.0.0.1/ThinkPHP/admin.php访问网站。
1)admin.php文件
在admin.php文件中,主要完成数据库是否安装,这是通过检测/public/install/install.lock文件是否存在,如果存在,则说明已经安装成功,否则将进入引导安装页面,进入public/install/index.php文件,admin.php具体核心代码如下所示。
//检测是否是新安装
if(file_exists("./Public/install") && !file_exists("./Public/install/install.lock")){
//组装安装url
$url=$_SERVER['HTTP_HOST'].trim($_SERVER['SCRIPT_NAME'],'admin.php').'public/install/index.php';
header("Location:http://$url");
die;
}
2)public/install/index.php文件
该文件检测当前目录下是否有install.lock文件,如果没有这个文件,则进入安装引导页面;否则,提示已经安装过数据库,如果要重新安装,则需要删除/public/install/install.lock文件。
在后续的同意协议页面、监测环境页面、创建数据库页面,是通过$_GET()方法得到信息,然后进入相关的页面,即agreement.html、test.html、create.html和success.html文件。在create.html页面中,设置DB_HOST、DB_PORT、DB_USER和DB_PWD,通过post方法向public/install/index.php发送信息。public/install/index.php文件如下所示。
/**
*安装向导
*/
header('Content-type:text/html;charset=utf-8');
//检测是否安装过
if (file_exists('./install.lock')) {
echo '你已经安装过该系统,重新安装需要先删除./Public/install/install.lock文件';
die;
}
//同意协议页面
if(@!isset($_GET['c']) || @$_GET['c']=='agreement'){
require './agreement.html';
}
//检测环境页面
if(@$_GET['c']=='test'){
require './test.html';
}
//创建数据库页面
if(@$_GET['c']=='create'){
require './create.html';
}
.......
四、技术服务
1、如果有疑问或者需要帮助,请加入QQ群(群名称:豆豆咨询,群号:625686304);或者公众号douAsk,公众号名称为“豆豆咨询”。扫描以下二维码,关注“豆豆咨询”。
技术QQ群名称:豆豆咨询,群号:625686304
微信公众号名称:豆豆咨询,微信公众号:douAsk
彩蛋号:1207。