Heim > PHP-Framework > YII > Was ist der Unterschied zwischen model und activeRecord in yii2?

Was ist der Unterschied zwischen model und activeRecord in yii2?

王林
Freigeben: 2020-11-20 15:57:37
nach vorne
10911 Leute haben es durchsucht

Was ist der Unterschied zwischen model und activeRecord in yii2?

Der Unterschied zwischen Model und ActiveRecord (AR) in Yii2 wird wie folgt analysiert:

(Verwandte Empfehlungen: yii)

1. Model

models ist ein Teil von MVC und repräsentiert Geschäftsdaten, Regeln und logisches Objekt. Die Model-Klasse ist auch die Basisklasse für erweiterte Modelle wie Active Record. Standardmäßig erbt das Modell direkt von yiibaseModel.

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()
    {
        // ......
    }
}
Nach dem Login kopieren

Schauen wir uns den Controller-Code an:

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();
        }
    }
}
Nach dem Login kopieren

2. ActiveRecord-Klasse

Active Record (im Folgenden als AR bezeichnet) bietet eine objektorientierte Schnittstelle für den Zugriff auf Daten in der Datenbank. Eine ActiveRecord-Klasse ist einer Datentabelle zugeordnet, und die Attribute des Objekts (d. h. das Attributattribut von AR) werden den entsprechenden Spalten der Datenzeile zugeordnet. Ein Aktivitätsdatensatz (AR-Objekt) entspricht einer Zeile der Datentabelle, und die Attribute des AR-Objekts bilden die entsprechenden Spalten der Zeile ab.

3. Die Beziehung zwischen Model und ActiveRecord-Klasse

Kann in yiidbActiveRecord.php

class ActiveRecord extends BaseActiveRecord
{
...
}
Nach dem Login kopieren
gesehen werden

Kann in yiidbBaseActiveRecord.php

abstract BaseActiveRecord extends Model implements ActiveRecordInterface
{
...
}
Nach dem Login kopieren
gesehen werden

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen model und activeRecord in yii2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage