什么是php model类,thinkphp的自定义model类有什么作用?
請(qǐng)問(wèn),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 方法的區(qū)別
如果你只是進(jìn)行表的CRUD的話,建議你直接使用 M 方法了
區(qū)別點(diǎn)我
Model用不用在于你自己的選擇,我只所以選擇用,是因?yàn)樽詣?dòng)驗(yàn)證和自動(dòng)完成:
/**
* 驗(yàn)證規(guī)則
* @var array
*/
protected $_validate = array(
array('person','require','收貨人姓名必須填寫!'),
array('province','require','省份必須選擇!'),
array('city','require','地市必須選擇!'),
array('addr','require','收貨地址必須填寫!'),
array('phone','require','手機(jī)號(hào)碼必須填寫!'),
array('phone','/^1\d{10}$/','手機(jī)號(hào)碼格式不正確!'),
);
/**
* 自動(dòng)完成
* @var array
*/
protected $_auto = array (
array('default','0'),
);
當(dāng)model復(fù)雜到一定程度,自定義model可以省很多時(shí)間。
比如原先是:
$User = M('User');
$userdata = $User->where( "username='%s'" , $this->user )->find();
自定義model之后就不需要把這段代碼復(fù)制得到處都是。
假設(shè)現(xiàn)在數(shù)據(jù)庫(kù)要把username改成adminname,直接修改自定義model就可以全局調(diào)用了。
不用到處去修改。
一般都用M。如果想對(duì)某個(gè)表的某些操作進(jìn)行封裝,便于在控制器里復(fù)用,就先自定義個(gè)Model類,在控制器里用D去實(shí)例化它。
總結(jié)
以上是生活随笔為你收集整理的什么是php model类,thinkphp的自定义model类有什么作用?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 今天去公园看见一个老太婆神神秘秘地?
- 下一篇: php如何对数组进行分组,如何在PHP中