首頁 php框架 YII yii2中model和activeRecord有什麼差別

yii2中model和activeRecord有什麼差別

Nov 20, 2020 pm 03:57 PM
activerecord yii2

yii2中model和activeRecord有什麼差別

Yii2中的model與activeRecord(簡稱AR)的區別分析如下:

(相關推薦:yii

#一、Model

models 是mvc中的一部分,是代表業務數據,規則和邏輯的物件。 Model 類別也是更多進階模型如Active Record 活動記錄的基底類別
預設情況下,模型是直接從yii\base\Model繼承。

namespace app\models;

use yii\base\Model;

class LoginForm extends Model
{
    public $username;
    public $password;

    public function rules() {
        // 这里写你的验证规则
        [['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();
        // 根据用户在登录表单的输入来做判断
        if ($model->load(Yii::$app->request->post()) && $model->login()) {
            return $this->goBack();
        }
    }
}
登入後複製

二、ActiveRecord類別

Active Record (活動記錄,以下簡稱AR)提供了一個面向對象的接口, 用以訪問資料庫中的資料。一個 activeRecord 類別關聯一張資料表, 每個 activeRecord 物件對應表中的一行,物件的屬性(即 AR 的特性Attribute)會對應到資料行的對應列。一筆活動記錄(AR物件)對應資料表的一行,AR物件的屬性則對應該行的對應列。

三、Model與ActiveRecord類別的關係

在yii\db\ActiveRecord.php中可以看到

class ActiveRecord extends BaseActiveRecord
{
...
}
登入後複製

在yii\db\BaseActiveRecord.php中可以看到

abstract BaseActiveRecord extends Model implements ActiveRecordInterface
{
...
}
登入後複製

以上是yii2中model和activeRecord有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

yii框架時間戳怎麼設置教程 yii框架時間戳怎麼設置教程 Mar 06, 2025 pm 02:18 PM

該教程展示了YII框架的時間戳管理。 IT使用TimestampBehavior詳細介紹自動創建的_AT和UPDATED_AT更新,提供自定義選項並將其與手動更新,數據庫觸發器進行比較和自定義BE

在雲本地環境中使用YII的最佳實踐是什麼? 在雲本地環境中使用YII的最佳實踐是什麼? Mar 18, 2025 pm 04:39 PM

本文討論了在雲本地環境中部署YII應用程序的最佳實踐,並通過集裝,編排和安全措施專注於可擴展性,可靠性和效率。

yii和laravel框架比較 yii和laravel框架有什麼區別 yii和laravel框架比較 yii和laravel框架有什麼區別 Mar 06, 2025 pm 02:17 PM

本文比較了PHP框架YII和Laravel。 YII優先考慮速度和結構,而Laravel則強調開發人員的經驗和靈活性。 儘管兩者都處理大型應用程序,但YII提供了出色的原始性能,而LA

yii框架怎麼樣 yii框架是什麼 yii框架怎麼樣 yii框架是什麼 Mar 06, 2025 pm 02:20 PM

本文介紹了YII,這是一個高性能的PHP框架,非常適合大規模Web應用程序。 它強調了Yii的速度,安全性和健壯的體系結構(MVC),強調了其優勢比Laravel,Symfony和Cod等其他框架的優勢

yii框架的優缺點 yii框架的優點及原理一覽 yii框架的優缺點 yii框架的優點及原理一覽 Mar 06, 2025 pm 02:22 PM

本文分析了YII框架的優勢和劣勢。 它突出了Yii的高性能,穩健的安全性,快速的開發能力和可擴展性,但也指出了較小的PR的學習曲線和潛在的複雜性

yii框架和tp框架那個比較好 yii框架和tp框架的區別 yii框架和tp框架那個比較好 yii框架和tp框架的區別 Mar 06, 2025 pm 02:21 PM

本文比較了YII和ThinkPHP(TP)框架。 選擇取決於項目規模和開發人員的經驗。 Yii,健壯而成熟,適合大型,複雜的項目,需要高性能。 TP,更簡單,更快地開發,更好

yii怎麼調用公共函數 yii公共函數怎麼調用教程 yii怎麼調用公共函數 yii公共函數怎麼調用教程 Mar 06, 2025 pm 02:23 PM

本文詳細介紹瞭如何在YII應用程序中調用和組織共同功能。 它主張將功能封裝在類中,理想情況下,在專用的應用程序/助手目錄中,以提高可重複性和可維護性。 不同的方法

在無服務器體系結構中使用YII的關鍵注意事項是什麼? 在無服務器體系結構中使用YII的關鍵注意事項是什麼? Mar 18, 2025 pm 04:33 PM

本文討論了在無服務器體系結構中使用YII的關鍵注意事項,專注於無狀態,冷啟動,功能大小,數據庫交互,安全性和監視。它還涵蓋優化策略和潛在的綜合

See all articles