为了账号安全,请及时绑定邮箱和手机立即绑定

请问关于thinkphp 模型类的作用?

请问关于thinkphp 模型类的作用?

慕桂英4014372 2019-08-20 17:12:40
thinkphp 模型类的作用?
查看完整描述

5 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

  Thinkphp模型类的主要作用是:完成业务逻辑处理,包括对数据表的增删改查(CUED
  )操作。对处理的数据进行封装;对字段及属性进行验证;完成对象及属性的过滤等功能。
  Thinkphp模型类的命名规则:使用驼峰法命名,并且首字母大写,然后加上模型层的名称。

查看完整回答
反对 回复 2019-08-21
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

一般情况下是一个表对应一个model类,不用也是可以的。

至于你说的简化代码,给你举个例子:

比如说你有一个user表,里面有 id  name  pass time(登录时间),对其的操作页面有注册,登录,修改密码等等

如果你要使用M来进行实例的话,不管是注册还是干啥,你每次都要对提交过来的信息是否合法进行一个验证,time时间每次都要使用time()函数来重新生成以下

但是如果你使用了model,使用D来实例化,这些信息的验证,和time()的完成都可以写到model中,就不用在上面说的那些页面当中一一进行操作验证或者添加了。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

class UserModel extends Model

{

    //使用下面的这些可以很方面对user表进行操作,省去了多次对表进行操作时候所书写的验证和完成之类的代码。

    //自动验证

    protected $_validate = array(

        array('name','require','用户名不能为空'), 

        array('name','','用户名已存在',0,'unique',1),

        array('user_pwd','require','新密码不能是空',0,'',2),//只更新时验证

        );

    //自动完成

    protected $_auto = array (

        array('addtime','time',1,'function'),

    );

    //上面的一些规则可以参考自动完成和自动验证的规则,需要调用函数的时候,在下面自己再添加自定义的函数

  

}



查看完整回答
反对 回复 2019-08-21
?
三国纷争

TA贡献1804条经验 获得超7个赞

一般情况下是一个表对应一个model类,不用也是可以的。
你举个例子:
比如说你有一个user表,里面有 id name pass time(登录时间),对其的操作页面有注册,登录,修改密码等等
如果你要使用M来进行实例的话,不管是注册还是干啥,你每次都要对提交过来的信息是否合法进行一个验证,time时间每次都要使用time()函数来重新生成以下
但是如果你使用了model,使用D来实例化,这些信息的验证,和time()的完成都可以写到model中,就不用在上面说的那些页面当中一一进行操作验证或者添加了。class UserModel extends Model{ //使用下面的这些可以很方面对user表进行操作,省去了多次对表进行操作时候所书写的验证和完成之类的代码。 //自动验证 protected $_validate = array( array('name','require','用户名不能为空'), array('name','','用户名已存在',0,'unique',1), array('user_pwd','require','新密码不能是空',0,'',2),//只更新时验证 ); //自动完成 protected $_auto = array ( array('addtime','time',1,'function'), ); //上面的一些规则可以参考自动完成和自动验证的规则,需要调用函数的时候,在下面自己再添加自定义的函数 }





查看完整回答
反对 回复 2019-08-21
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

Model 负责与数据库进行交互,所有与数据库进行交互的业务逻辑都应该写在Model中。
一般一个Model 类 将对应着数据库中的一张表。

查看完整回答
反对 回复 2019-08-21
?
郎朗坤

TA贡献1921条经验 获得超9个赞

以tp3.2.x为例,定义:

1

2

3

4

5

6

namespace Home\Model;

use Think\Model;

class CategoryModel extends Model {

protected $trueTableName = 'top_categories';

protected $dbName = 'top';

}

调用:

1

2

3

$User = new \Home\Model\CategoryModel();

// 带参数实例化

$New = new \Home\Model\NewModel('blog','think_',$connection);


查看完整回答
反对 回复 2019-08-21
  • 5 回答
  • 0 关注
  • 779 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信