ThinkPHP(当前版本:v3.2.3)框架总结之环境配置及说明:
对于TP框架,我想大家应该知道它的广泛性了,在这里不再进行说明。下面我就从TP的获取、目录结构、入口文件、使用及相关说明为例进行说明。
一、如何获取
获取TP的方式有很多,但我建议可直接从官网(http://www.thinkphp.cn)中获得最新稳定的版本,同时也可以实时关注最新的动态变化哦。
二、目录结构
解压获得的TP压缩包后,默认的结构目录结构如下:
我们可以定制自己的项目目录结构,我的目录结构如下:
我这里说明下:这个结构保持了默认的目录结构,对于应用目录(Project)中包含了四个模块:Admin、Mobile、WebSite及Wxapp,而Common目录主要是存放四个模块通用的资源及配置的;而Public目录很明显是放置整个项目通用资源的,一般存放的是html页面的css和js以及图片等。ThinkPHP目录是TP的框架类库,具体的说明如下:
三、入口文件
这个文件不建议放太多操作,而且整个项目统一一个入口,所有应用都是从这个入口进入的,并且不同应用入口文件是类似的。文件主要定义调试模式、应用入口以及系统常量,针对我的项目结构目录配置如下:
这个入口文件很简单,开启了调试模式(正式发布建议关闭),重新设置了入口目录为Project,同时也引入了核心的ThinkPHP类库。
四、简单使用
我们知道TP框架使用了MVC 架构模式,分为模式、视图及控制器,下面我们按结构介绍,最后会以一个从前端html页面访问TP接口,请求mysql数据库为例演示TP的使用,这里不对MVC架构进行说明。
模型:
namespaceMobile\Model;
useThink\Model;
classUserInfoModelextendsModel {
protected$tureTableName ='user_info';
}
?>
存放位置/Project/Mobile/Model/UserInfoModel.class.php
注意:$tureTableName是规定的写法,它对一个数据库表user_info,具体的UserInfoModel命名请查看下面相关说明部分,而namespace我们知道当前版本的TP引入了命名空间机制(规定写法),use 代表使用Think类库下的Model模块功能,下同,当然,在mysql中也新增了一张t_user_info数据表。
控制器:
namespaceMobile\Controller;
useThink\Controller;
classUserCenterControllerextendsController {
//用户登录接口
public functionlogin() {
$result= array();
$data= array();
$status= false;
$msg= "";
$account= I('post.account');
$password= I('post.password');
if(is_null($account) || is_null($password)) {
$msg= '用户账号或密码不能为空,请检查重新输入!';
}else{
//查找账号及密码看是否匹配
$User= D('UserInfo');
$password= md5($password);
$data= $User->where('account="%s"and password="%s"',array($account,$password))->find();
if($data !==null) {
$status= true;
}else{
$msg= '用户账号或密码不正确!';
}
}
$result['status'] = $status;
$result['msg'] = $msg;
$result['data'] = $data;
echojson_encode($result);
}
}
?>存放位置/Project/Mobile/Controller/UserInfoController.class.php
注意:建议使用I函数获取输入的参数值。
视图:
用户名:
密 码: