日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php yanzhengm,ThinkPHP 在使用M方法(不创建模型类)时实现自动验证与自动填充

發布時間:2024/9/3 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php yanzhengm,ThinkPHP 在使用M方法(不创建模型类)时实现自动验证与自动填充 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ThinkPHP M方法實現自動驗證與自動填充

通常,我們會將自動驗證與自動填充規則寫入模型類里,然后再用 D 方法實例化模型類來實現對表單的自動驗證與自動填充功能。由于 M 方法只是實例化基礎模型類而不會去實現模型類里定義的邏輯,因此 M 方法一般情況下是無法完成自動驗證與自動填充的。

ThinkPHP 提供的 setProperty 方法,可以動態更改 Model 的屬性。在操作中,利用 setProperty 方法便可以在使用 M 方法(不創建模型類)時實現自動驗證與自動填充功能。

setProperty 方法是 Model 類的內置方法,用于設置模型的屬性值,語法如下:

setProperty(string name, mixed value)

例子:

$Article = M("Article");

// 自動驗證規則

$validate = array(

array('title','require','標題不能為空!',1),

array('title','','標題已經存在',0,'unique',1),

array('content','require','內容必須',1),

);

// 自動填充規則

$_auto = array(

// 新增癿時候把 status 字段設置為 1

array('status','1',self::MODEL_INSERT),

// 新增癿時候把 create_time 字段設置為 time() 時間戳

array('create_time','time',self::MODEL_INSERT,'function'),

);

$Article->setProperty("_validate",$validate);

$Article->setProperty('_auto',$auto);

// 創建數據對象

if ($Article->create()){

// 創建數據對象成功,寫入數據

$User->add();

}else{

// 創建數據對象失敗

exit($Article->getError());

}

要在 M 方法中使用自動驗證與自動填充,需要以數據對象的方式(create())寫入數據,更多信息參見《ThinkPHP create 方法:表單數據智能寫入》。

原則上講,應該將自動驗證與自動填充等邏輯在模型里面來完成,但 ThinkPHP 提供了 setProperty 方法,以方便在其他特殊情況(如使用 M 方法時)時也能實現自動驗證與自動填充功能。

總結

以上是生活随笔為你收集整理的php yanzhengm,ThinkPHP 在使用M方法(不创建模型类)时实现自动验证与自动填充的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。