Thinkphp小知识点
1 在将数据库查询的值传到模板时
除了传统的方法
1 $wi=M('wish'); 2 $result=$wi->select(); 3 $this->assign('res',$result); 4 $this->display();
还可以这样:
1 $wi=M('wish'); 2 $result=$wi->select(); 3 $this->res=$result; 4 $this->display();
2 文件的写入和读取
传统方法
1 //写入方法 2 $str="<?php return :.var_export($arr,true).";?>"; 3 file_put_contents("./data/test.php",$str); 4 5 //读取方法 6 $s=include('./data/test.php');
新写法
1 //写入方法 2 F('test',$arr,'./Data/'); 3 //读取方法 4 $a=F('test','','./Data/');
3 修改模板默认__PUBLIC__的指向,我试过直接在config.php中定义
1 '__PUBLIC__' => '/'.APP_NAME.'/Index/Tpl/Admin/Public'
这样输出来的结果
C('__PUBLIC__');//显示app/Index/Tpl/Admin/Public,和上面定义的一致
的确是我们修改的结果,不过模板里面却还是按照默认的解析.所以我们这样修改不行,我们修改的主要目的就是为了模板,所以应该这样修改
1 'TMPL_PARSE_STRING' => array('__PUBLIC__' => __ROOT__.'/'.APP_NAME.'/Index/Tpl/Admin/Public')
4 模板中引入css和js
1 //在模板中使用 2 <css file=''> 3 <js file=''>
5 调用分页类
1 import('ORG.Util.Page'); 2 $count=M('user')->count(); 3 $page=new Page($count,10); 4 5 $limit=$page->firstRow.','.$page->lastRows; 6 7 $user=M('user')->order('time DESC')->limit($limit)->select(); 8 9 $this->page=$page->show();//将分页传输到模板上面
6 模板中使用if语句
1 <if condition=''>//此处的条件数组元素只能写$v['test'],不能写$v.test 2 <else/> 3 </if>
7 表单传参处理
1 I('pid',0,'intval');//无论是post还是get都可以,0是默认值
8 修改模板的默认点号解析
'TMPL_VAR_IDENTIGY'=>'array'
9 定制错误页面
'TMPL_EXCEPTION_FILE'=>'./public/404.html'