什么是php model类,thinkphp的自定义model类有什么作用?

本文介绍了ThinkPHP框架中自定义Model类的主要用途,包括简化代码、提高复用性和方便维护。通过自定义Model类,可以实现数据验证、自动完成等功能,并在数据库字段变动时减少代码修改。举例说明了如何创建和使用自定义Model,以及与D方法和M方法的区别。建议在需要对特定表进行复杂操作或封装通用功能时使用自定义Model。
摘要由CSDN通过智能技术生成

请问,thinkphp的自定义model类有什么作用?如:

<?php

//自定义Modle类

namespace Home\Model;

use Think\Model;

class StuModel extends Model{

public function getInfo(){

echo '这是自定义的Model类';

}

public function getIp(){

echo $_SERVER['REMOTE_ADDR'];

}

}

----------

//使用自定义的Modle类

<?php

namespace Home\Controller;

use Think\Controller;

class ComController extends Controller{

public function index(){

$model = D('stu');

$model->getInfo();

$model->getIp();

}

}

如果不写自定义model类,就没有办法使用 D 方法啦,

建议你了解一下ThinkPHP的 D 方法和 M 方法的区别

如果你只是进行表的CRUD的话,建议你直接使用 M 方法了

区别点我

Model用不用在于你自己的选择,我只所以选择用,是因为自动验证和自动完成:

/**

* 验证规则

* @var array

*/

protected $_validate = array(

array('person','require','收货人姓名必须填写!'),

array('province','require','省份必须选择!'),

array('city','require','地市必须选择!'),

array('addr','require','收货地址必须填写!'),

array('phone','require','手机号码必须填写!'),

array('phone','/^1\d{10}$/','手机号码格式不正确!'),

);

/**

* 自动完成

* @var array

*/

protected $_auto = array (

array('default','0'),

);

当model复杂到一定程度,自定义model可以省很多时间。

比如原先是:

$User = M('User');

$userdata = $User->where( "username='%s'" , $this->user )->find();

自定义model之后就不需要把这段代码复制得到处都是。

假设现在数据库要把username改成adminname,直接修改自定义model就可以全局调用了。

不用到处去修改。

一般都用M。如果想对某个表的某些操作进行封装,便于在控制器里复用,就先自定义个Model类,在控制器里用D去实例化它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值