thinkphp Model的使用

4.1 放在哪儿?
项目/模块/Model目录下
以本教程为例,Home模块的Model
/Home/Model/目录下

 

4.2 model类文件叫什么?
模型名: DemoModel.class.php

 

 

4.3 model类与表名的对应关系
一般model名称与表名table 相同
如DemoModel.class.php 则对应操作 Demo
注意: 虽然Model类首字母大写的,但惯例,表名一律小写.

  需要插入Demo表,不然会保错

  

数据库随便创建

 create table Demo(
  id  int,
  name varchar(10),
  age int,
  sex varchar(5)
);

 

 

4.4 继承谁?
namespace Home\Model
use \Think\Model

class DemoModel extends Model {
}

 

4.5 controller里如何实例化
new \模块名\Model\ModelName();
:
new \Home\Model\UserModel();
也可以通过快捷函数D('模型名'),:
D('User')

 

<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller {

    public function ff(){
    //    $a = new \Home\Model\DemoModel();
        $a = D('Demo');//thinkphp 封装的方法(优先得到子类的方法)
    //    var_dump($a);
        $a->papa();
    }
}

 

注意:
上述实验,都会失败,因为还没有配置数据库信息.
失败后,请参考第6

区别
D(),M()函数都能得到Model的实例,
D函数是优先得到子类的Model实例
M函数是得到父类的Model实例,\Think\Model类的实例

 

 

 

 

posted @ 2017-05-03 15:01  Howie_Tang  阅读(753)  评论(0编辑  收藏  举报