THINKPHP--开发常用
1.自定义控制器
命名:WenjianController.class.php
命名首字母大写,控制器名Controller.class.php
<?php //不能有空格或空行 namespace Home\Controller; //命名空间 模块名\Controller 注意大小写 use Think\Controller; 使用命名空间里的文件 class WenjianController extends Controller { }
2.实例化Model的三种方式:
- $goods = new 命名空间GoodsModel();
- $goods = D(‘模型标志’);
a) $goods = D(“Goods”);
b)该$goods是父类Model的对象,但是操作的数据表还是sw_goods
c)$obj = D(); 实例化Model对象,没有具体操作数据表,与M()方法效果一致
- $obj = M();
a)实例化父类Model
b)可以直接调用父类Model里边的属性,获得数据库相关操作
c)自定义model就是一个空壳,没有必要实例化自定义model
d)$obj = M(‘数据表标志’); 实例化Model对象,实际操作具体的数据表
$obj = D(标志);
$obj = D();
$obj = M(标志);
$obj = M();
D()和M()方法的区别:
前者是tp3.1.3里边对new操作的简化方法;
后者在使用就是实例化Model父类
两者都在函数库文件定义ThinkPHP/Common/functions.php
注意:如果没有对应的model模型文件类,也可以直接实例化model对象进行操作
D()和M()方法都可以实例化操作一个没有具体model模型类文件的数据表。
3.连贯操作
$User->where('status=1')->order('create_time')->limit(10)->select(); //select查询所有数据
$User->where('status=1')->order('create_time')->limit(10)->find();//find查询单条数据
4.foreach遍历数组
<foreach name="attr" item="v"> //name为需要遍历的数组 item是临时变量 <tr> <td>{$v.name}</td> <td>{$v.size}</td> <td>{$v.user}</td> <td>{$v.times}</td> <td>{$v.shuoming}</td> <td>{$v.type}</td> </tr> </foreach>
5.ajax返回
$this->ajaxReturn($a,'eval'); eval表示返回字符串