Thinkphp常用方法

ThinkPHP使用

一、控制器方法

1、加载视图方法 display()

$this -> display();          //模板名称与当前操作方法的名称一致

$this -> display(模板名称);  //调用当前控制器对应目录指定名称的模板

$this -> display(控制器/模板名称); //调用其他控制器下的具体模板文件

                                   //或 display(控制器:模板名称);

$this -> display(相对路径模板文件); //调用自定义模板文件,该模板不在传统的View目录里边,该模板相对index.php入口文件进行定位

2 assign()显示模版

① 控制器传递变量给模板

$this-> assign(名称,值);

值:可以是变量、常量、数组、对象等

② 模板显示变量

{$名称}                 //显示普通变量

{$名称[下标]}          //显示数组元素

{$名称.下标}              //显示数组元素-

{$名称:成员}             //显示对象成员信息

{$名称->成员}   //显示对象成员信息

注意:{ 和 $ 符号之间不能有空白,否则标签无效,例如 {   $name}

③ 遍历数组(foreach/volist)

foreach遍历标签:

<foreach

   name=”被遍历的变量” 

   item=”遍历出来的单元”

   key=”k”数组元素下标变量名称

   如果没有定义key属性,可以直接使用{$key}变量,获得元素下标变量名称,两者只能选取其一

</foreach>

volist遍历标签:

<volist

   name=”被遍历的变量” 

   id=”遍历出来的单元” 

   offset=”偏移量” 

   length=”限制展示的数据个数”

   mod=”2” 把记录按照mod数量进行捆绑

   key=”k”获得从1开始的序号信息

 >

如果没有定义key属性,可以直接使用{$i}变量,获得从1开始的序号信息,两者只能选取其一

{$key}:数组元素下标变量名称

</volist >

④ 在模版中使用if判断语句

<if condition="($name eq 1) OR ($name gt 100) "> value1

<elseif condition="$name eq 2"/>value2

<else /> value3

</if>

eq  或者    equal 等于

neq 或者    notequal 不等于

gt  大于

egt 大于等于

lt  小于

elt 小于等于

heq 恒等于

nheq 不恒等于

3、空控制器与空操作

空操作:是指系统在找不到请求的操作方法的时候,会定位到空操作(_empty)方法来执行

空控制器:的概念是指当系统找不到请求的控制器名称的时候,系统会尝试定位空控制器(EmptyController)

4、跳转方法

success(提示信息,跳转地址,跳转时间 )

        跳转地址:默认为当前页面的前一页面的地址,通常通过U()函数制作

跳转时间:默认为1秒

error(提示信息,跳转地址,跳转时间 )

        跳转地址:默认为当前页面的前一页面的地址,通常通过U()函数制作

跳转时间:默认为3秒

5、redirect()跳转方法

之前有跳转方法success(),该方法会显示一个模板页面出来

有的时候,页面跳转的时候,并不需要提示一个模板页面出来,这时候就可以调用redirect方法实现

语法:redirect(地址[,参数,跳转时间,提示信息])

        地址:形式为 [分组/控制器/]操作方法

        参数:数组形式,根据实际情况提供即可

        跳转时间:单位为秒,默认0

        提示信息:页面跳转的提示信息,也可以不设置

二、模型方法

2.1 创建

原则:一个数据表对应 一个model模型类

model类文件名和 类名 的形式 与controller控制器类 完全一致,就是把Controller字样换成是Model即可

2、实例化model对象方法

2.2 new方式

命名空间完全限定名称方式实例化自定义model对象

对象 = new \分组\Model\标识Model();

2.3 D()函数方式

语法:$obj = D(标识);

$obj = D(‘Goods’);   //实例化”自己分组”对应自定义GoodsModel类对象,

并操作xx_goods数据表

$obj = D();                    //实例化父类Model,不关联任何表,

用处是可以执行一些原生sql语句

2.4 M()函数方式(了解)

语法:$obj = M(标识);  //标识 必须是”合法”的

$obj = M(‘Goods’);    //实例化父类Model,并操作xx_goods数据表

$obj = M();                       //实例化父类Model,不关联任何表,

用处是可以执行一些原生sql语句

2.5 select()方法调用

调用方法:model对象->select()

具体使用:

$model-> select();                               //查询并返回数据表的全部字段、全部记录信息

$model-> select(主键id值);             //查询主键信息等于条件id值的一条记录

$model-> select(‘id1,id2,id3...’);         //查询主键id在条件范围内的记录

2.6辅助查询方法

1)  where()条件

$model-> where(条件值);  //条件值 就是普通sql语句where后边的条件信息

select * from 表名 where cat_id=3 and price>30 and id in (10,13,15)

上述sql语句可以通过如下4种方式实现:

①   where(“cat_id=3and price>30 and id in (10,13,15)”)

②   where(“cat_id=%dand price>%d and id in (%s)”   ,3,30,’10,13,15’)

③   where(“cat_id=%dand price>%d and id in (%s)” ,array(3,30,’10,13,15’))

④   $cdt[‘cat_id’]        = 3;    //ThinkPHP框架推荐

$cdt[‘price’]   =array(‘gt’,30);

$cdt[‘id’]         =array(‘in’,’10,13,15’);

where($cdt);

2)  limit()限制条数

$model-> limit(数字);  //严格查询数字条数的记录

$model-> limit(偏移量,长度);  //查询某个范围的记录条数

3)  field ()限制查询字段

$model-> field(字段1,字段2,字段3);

4)  order() 排序

$model-> order(‘排序条件字段asc/desc’);

5)  group() 分组查询group by

$model-> group(分组条件);

groupby 分组查询的具体应用

2.7 统计查询

$model -> 辅助方法()->count()/sum()/avg()/max()/min();

2.8 add()方法

调用方法:model对象-&g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值