小編給大家分享一下yii2中model和activeRecord有哪些區(qū)別,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
10年積累的成都做網(wǎng)站、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有商水免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
=
Yii2中的model與activeRecord(簡稱AR)的區(qū)別分析如下:
一、Model
models 是mvc中的一部分,是代表業(yè)務(wù)數(shù)據(jù),規(guī)則和邏輯的對象。Model 類也是更多高級模型如Active Record 活動記錄的基類
默認(rèn)情況下,模型是直接從yii\base\Model繼承。
namespace app\models; use yii\base\Model; class LoginForm extends Model { public $username; public $password; public function rules() { // 這里寫你的驗證規(guī)則 [['username', 'password'], 'required'], // password is validated by validatePassword() ['password', 'checkPassword'], // 驗證密碼 } // 這里寫你驗證密碼的邏輯 public function checkPassword($attribute,$params) { // ...... } // 這里寫登錄的邏輯 public function login() { // ...... } }
我們看controller代碼:
namespace app\controllers; use Yii; use yii\web\Controller; class SiteController extends Controller { // ... public function actionLogin() { $model = new LoginForm(); // 根據(jù)用戶在登錄表單的輸入來做判斷 if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } } }
二、ActiveRecord類
Active Record (活動記錄,以下簡稱AR)提供了一個面向?qū)ο蟮慕涌冢?用以訪問數(shù)據(jù)庫中的數(shù)據(jù)。一個 activeRecord 類關(guān)聯(lián)一張數(shù)據(jù)表, 每個 activeRecord 對象對應(yīng)表中的一行,對象的屬性(即 AR 的特性Attribute)映射到數(shù)據(jù)行的對應(yīng)列。 一條活動記錄(AR對象)對應(yīng)數(shù)據(jù)表的一行,AR對象的屬性則映射該行的相應(yīng)列。
三、Model與ActiveRecord類的關(guān)系
在yii\db\ActiveRecord.php中可以看到
class ActiveRecord extends BaseActiveRecord { ... }
在yii\db\BaseActiveRecord.php中可以看到
abstract BaseActiveRecord extends Model implements ActiveRecordInterface { ... }
看完了這篇文章,相信你對yii2中model和activeRecord有哪些區(qū)別有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前標(biāo)題:yii2中model和activeRecord有哪些區(qū)別
鏈接地址:http://chinadenli.net/article44/pighhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站維護(hù)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、微信小程序、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)