快速入门tp3

①快速导入tp框架:

thinkphp3.2.3下载:http://www.thinkphp.cn/down/610.html

thinkphp3.2.3手册:http://document.thinkphp.cn/manual_3_2.html

快速入门tp3_第1张图片

将下载好的文件解压,全部复制放到phpstudy/WWW/boke文件下,在浏览器输入地址:http://localhost/boke,显示'欢迎使用 ThinkPHP!'则运行成功,Application开发文件下自动生成Common Runtime Home三个文件,如果需要增加如运营管理后台可以将Home文件复制另存为Admin。

快速入门tp3_第2张图片

②导入模板

首先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;)

模板变量$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))。

........

你可能感兴趣的:(PHP)