極客學院深入ThinkPHP框架影片教學的資源推薦

黄舟
發布: 2023-03-15 16:44:01
原創
1357 人瀏覽過

PHP 作為一種廣泛用於 Web 伺服器端的腳本語言,在敏捷 Web 開發方面有獨特的優勢,成功案例多、社群活躍、資源豐富,框架也非常多。 ThinkPHP 作為一款起步較早、相對成熟的國產 PHP 框架,在國內有相當的用戶量,透過《極客學院深入ThinkPHP框架視頻教程》向大家介紹 ThinkPHP 基礎知識,為後續的項目實戰做好準備。

極客學院深入ThinkPHP框架影片教學的資源推薦

課程播放網址://m.sbmmt.com/course/322.html

該老師講課風格:

講課親切自然,樸實無華,沒有矯揉造作,也不刻意渲染,而是婁娓而談,細細道來,師生之間在一種平等、協作、和諧的氣氛下,進行默默的情感交流,將對知識的渴望和探索融於簡樸、真實的教學情景之中,學生在靜靜的思考、默默的首肯中獲得知識

本影片中較為困難是ThinkPHP 模型實作資料自動填入了:

ThinkPHP 自動填入

#ThinkPHP 內建了資料物件的自動填充功能,可以用來處理預設值、資料過濾以及其他系統寫入欄位的自動處理。

要使用自動填入功能,只需要在對應的 Model類別 裡面定義 $_auto 屬性(由多個驗證因子組成的陣列)。 $_auto 屬性是由多個填滿因子組成的數組,語法格式如下:

protected $_auto = array(
    array(填充字段,填充内容[,填充条件][,附加规则])
};
登入後複製

#自動填入範例

##使用者註冊或修改資料時,可能用到的自動填入範例:

class UserModel extends Model{
    protected $_auto = array (
        // 新增的时候把status字段设置为1
        array('status','1'),
        // 对password字段在所有情况下使用md5函数处理
        array('password','md5',3,'function'),
        // 对username字段在新增时回调getName方法
        array('username','getName',1,'callback'),
        // 对regdate字段在新增时写入当前时间戳
        array('regdate','time',1,'function'),
	// 对regip字段在新增时写入用户注册IP地址
        array('regip','get_client_ip',1,'function'),
    );
}
登入後複製

#和自動驗證一樣,自動完成機制需要使用create 方法才能生效:

$Article = D("User");
if(!$User->create()){
    // 如果创建数据对象失败(可能是验证未通过等),输出错误提示信息
    exit($Article->getError());
}else{
    // 继续下一步流程如将数据写入数据表
}
登入後複製

提示

與自動驗證不同的是,自動填充無效時(如調用一個不存在的函數或自動填充的字段不存在等)並不導致建立資料物件(create())失敗,只能透過偵錯或實際資料入庫來偵測自動填入是否正確有效。

動態改變自動完成規則

和自動驗證一樣,可以在操作方法中使用 setProperty方法 動態的變更自動完成的規則:

$Dao = D("User");
$auto = array (
    // 仅对password字段进行处理
    array('password','md5',1,'function') 
);
$User->setProperty("_auto",$auto);

if(!$User->create()){
    ……
}
登入後複製

以上是極客學院深入ThinkPHP框架影片教學的資源推薦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!