Maison > cadre php > YII > Quelle est la différence entre le modèle et activeRecord dans yii2

Quelle est la différence entre le modèle et activeRecord dans yii2

王林
Libérer: 2020-11-20 15:57:37
avant
10874 Les gens l'ont consulté

Quelle est la différence entre le modèle et activeRecord dans yii2

La différence entre le modèle et activeRecord (AR en abrégé) dans Yii2 est analysée comme suit :

(Recommandations associées : yii)

1. Modèle

les modèles font partie de mvc et sont des objets qui représentent les données métier, les règles et la logique. La classe Model est également la classe de base pour des modèles plus avancés tels que Active Record
Par défaut, le modèle hérite directement de 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()
    {
        // ......
    }
}
Copier après la connexion

Regardons le code du contrôleur :

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();
        }
    }
}
Copier après la connexion

2. Classe ActiveRecord

Active Record (ci-après dénommé AR) fournit une interface orientée objet pour accéder aux données dans la base de données. Une classe activeRecord est associée à une table de données. Chaque objet activeRecord correspond à une ligne de la table et les attributs de l'objet (c'est-à-dire l'attribut d'AR) sont mappés aux colonnes correspondantes de la ligne de données. Un enregistrement d'activité (objet AR) correspond à une ligne du tableau de données, et les attributs de l'objet AR mappent les colonnes correspondantes de la ligne.

3. La relation entre le modèle et la classe ActiveRecord

Vous pouvez le voir dans yiidbActiveRecord.php

class ActiveRecord extends BaseActiveRecord
{
...
}
Copier après la connexion

Vous pouvez le voir dans yiidbBaseActiveRecord.php

abstract BaseActiveRecord extends Model implements ActiveRecordInterface
{
...
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal