①快速导入tp框架:
thinkphp3.2.3下载:http://www.thinkphp.cn/down/610.html
thinkphp3.2.3手册:http://document.thinkphp.cn/manual_3_2.html
将下载好的文件解压,全部复制放到phpstudy/WWW/boke文件下,在浏览器输入地址:http://localhost/boke,显示'欢迎使用 ThinkPHP!'则运行成功,Application开发文件下自动生成Common Runtime Home三个文件,如果需要增加如运营管理后台可以将Home文件复制另存为Admin。
②导入模板
首先index.php配置文件增加导入模板位置的定义:
define('XXX_PATH','http://localhost/boke/Application/Home/View/Index/');
或者直接将HTML文件放入Home/View/Index路径里并在本模块Home/Conf/config.php配置:
return array(
// '配置项'=>'配置值'
'TMPL_PARSE_STRING'=>array(
'__PUBLIC__'=>'/boke/Application/Home/View/Index/',
)
);
最后在模板主文件css javascript配置值:(注意!Home/Controller/IndexController.class.php命名空间要一致namespace Home\Controller;)
<script type="text/javascript" src="__PUBLIC__/script/jquery-3.2.1.min.js"></script>
模板变量$this->assign("变量名",$val);//show()display()之前把变量传递给模板
模板显示$this->display();
文字显示$this->show("字符串");
数据返回$this->ajaxReturn($dat=array('a'=>true,array()) , 'json');
文件命名方式是:名称(驼峰法,首字母大写)+Controller/Model + .class.php(后缀)
③常用函数
3.2 | 5.0 |
C | config |
E | exception |
G | debug |
L | lang |
I | input(请求数据) |
D | model(实例) |
M | db(数据库) |
A | controller |
R | action |
U | url |
W | widget |
S | cache |
④tp3分页问题
public function index() {
$Ryh_banner = M('goods');//打开数据库
$data = I();//请求数据
setcookie("goods_id",$data["goods_id"]);//分页1:php设置条件参数cookie
if($data["p"]!=null&&I("cookie.goods_id") != ""){
$data[goods_id]=I("cookie.goods_id");//分页2:php下一页时获取cookie
}
if (empty($data["goods_id"])) {
$count = $Ryh_banner->count('goods_id'); // 查询满足要求的总记录数
$Page = new \Think\Page($count, 10); // 实例化分页类 传入总记录数和每页显示的记录数10条
$show = $Page->show(); // 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $Ryh_banner->order('goods_id')->limit($Page->firstRow . ',' . $Page->listRows)->select();
} else {
$data['goods_id']=array(array('like','%'.$data['goods_id'].'%'));//数据库包含字段查询
$count = $Ryh_banner->count('goods_id'); // 查询条件满足$data['goods_id']的数据记录
$Page = new \Think\Page($count, 10); // 实例化分页类 传入总记录数和每页显示的记录数10条
$show = $Page->show(); // 分页显示输出
$list = $Ryh_banner->where($data)->order('goods_id')->limit($Page->firstRow . ',' . $Page->listRows)->select();
}
$this->assign('list', $list); // 赋值数据数组
$this->assign('page', $show); // 赋值分页输出
$this->display();
}
⑤tp3错误ERR_CONTEN_DECODING_FAILED
1.ERR_CONTEN_DECODING_FAILED是开启了GZIP压缩,将GZIP压缩关闭,这个没试过。
2.网上搜索了一下原因,大部分说是文件中存在BOM头,会导致解码失败,检查最近修改的文件并用notepad编辑器另存为utf8。
3.输出数据格式不兼容:$this->ajaxReturn(['msg'=>'ok','d'=>$data])改为$this->ajaxReturn(array('msg'=>'ok','d'=>$data))。
........