Heim  >  Artikel  >  Backend-Entwicklung  >  An einem Beispiel wird erläutert, wie Sie mit PHP eine Datenüberprüfungsfunktion implementieren

An einem Beispiel wird erläutert, wie Sie mit PHP eine Datenüberprüfungsfunktion implementieren

PHPz
PHPzOriginal
2023-04-12 13:58:25942Durchsuche

In der Webentwicklung ist die Datenvalidierung ein wesentlicher Prozess. Bei der PHP-Entwicklung werden in der Regel Verifizierungskomponenten verwendet, die von Bibliotheken oder Frameworks Dritter bereitgestellt werden, um Datenüberprüfungsvorgänge abzuschließen. Manchmal müssen wir jedoch die Datenvalidierungsregeln an unsere eigenen Bedürfnisse anpassen und dann die eigene Implementierung von PHP verwenden, um die Datenvalidierung abzuschließen.

1. Datenüberprüfung verstehen

Datenüberprüfung bezieht sich auf die Beurteilung der Eingabedaten, um festzustellen, ob sie den erwarteten Regeln oder Anforderungen entsprechen. In der Webentwicklung dient die Datenüberprüfung zwei Zwecken: Zum einen soll sichergestellt werden, dass die vom Benutzer eingegebenen Daten verfügbar und gültig sind, und zum anderen sollen böswillige Angriffe verhindert werden. Wenn wir die eingegebenen Daten nicht überprüfen, ist es sehr wahrscheinlich, dass die vom Benutzer eingegebenen Daten Auswirkungen auf die gesamte Anwendung haben und somit den stabilen Betrieb der Anwendung beeinträchtigen.

2. Modellklassen definieren

In PHP können wir Klassen verwenden, um die Datenüberprüfung zu implementieren. Zu diesem Zeitpunkt müssen wir eine Modellklasse definieren, um das Datenmodell zu beschreiben, das wir überprüfen möchten, und die Überprüfungsregeln angeben, die wir verwenden möchten.

Schauen wir uns ein Beispiel an:

class UserModel {

    public $id;
    public $username;
    public $password;

    /**
     * 验证规则
     */
    public function rules()
    {
        return [
            [['username', 'password'], 'required'],
            [['id'], 'integer']
        ];
    }

}

Im obigen Code definieren wir eine UserModel-Klasse und definieren in dieser Klasse drei Attribute $id, $username, $password, die der Benutzer-ID, dem Benutzernamen und dem Passwort entsprechen.

In dieser Klasse definieren wir auch eine Rules()-Methode, die ein Array zurückgibt. Jedes Element im Array stellt eine Überprüfungsregel dar. In dieser Validierungsregel verwenden wir die beiden Regeln „erforderlich“ und „ganzzahlig“.

3. Datenüberprüfung implementieren

Nach der Definition der Modellklasse besteht der nächste Schritt darin, den Datenüberprüfungsvorgang zu implementieren. Die Schritte zum Implementieren der Datenüberprüfung sind wie folgt:

  1. Holen Sie sich die zu überprüfenden Daten.
  2. Holen Sie sich die Überprüfungsregeln.
  3. Überprüfen Sie alle Daten einzeln.
  4. Geben Sie die Überprüfungsergebnisse zurück.

Werfen wir einen Blick auf die Codeimplementierung :

class Validate {

    /**
     * 模型数据验证
     *
     * @param object $model
     * @return bool
     */
    public function validate($model)
    {
        // 获取验证规则
        $rules = $model->rules();

        // 遍历每个验证规则
        foreach ($rules as $rule) {

            // 获取要验证的属性名以及验证规则
            $attributes = array_shift($rule);
            $validator = array_shift($rule);

            // 遍历要验证的属性
            foreach ($attributes as $attribute) {

                // 获取属性对应的值
                $value = $model->$attribute;

                // 根据验证规则进行验证
                switch ($validator) {
                    case "required":
                        if (empty($value)) {
                            return false;
                        }
                        break;
                    case "email":
                        if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
                            return false;
                        }
                        break;
                    case "integer":
                        if (!is_numeric($value)) {
                            return false;
                        }
                        break;
                    default:
                        if (!preg_match($validator, $value)) {
                            return false;
                        }
                        break;
                }
            }
        }

        return true;
    }

}

Im obigen Code haben wir eine Validate-Klasse definiert, die über eine Validate()-Methode zur Implementierung der Datenvalidierung verfügt.

Bei dieser Methode erhalten wir zunächst das zu verifizierende Datenmodell ($model) und die Validierungsregeln ($rules). Dann durchlaufen wir jede Validierungsregel und verwenden die Funktion „shift()“, um den Attributnamen ($attributes) und die Validierungsregel ($validator) zu erhalten, die jeweils validiert werden sollen.

Nachdem wir die zu überprüfenden Attributnamen erhalten haben, durchlaufen wir diese Attribute, erhalten die entsprechenden Werte der Attribute und überprüfen sie. Während des Verifizierungsprozesses für jedes Attribut verwenden wir die Switch-Anweisung, um zu überprüfen, ob der Attributwert die Anforderungen gemäß den Verifizierungsregeln erfüllt.

Abschließend geben wir basierend auf dem Überprüfungsergebnis „true“ oder „false“ zurück.

4. Datenüberprüfung verwenden

Nach der Implementierung der Datenüberprüfungsklasse besteht der nächste Schritt darin, diese Klasse in der Anwendung zu verwenden, um die Datenüberprüfung abzuschließen.

Werfen wir einen Blick auf die Code-Implementierung:

// 创建数据模型
$userModel = new UserModel();

// 设置数据
$userModel->id = 1;
$userModel->username = 'admin';
$userModel->password = '123456';

// 创建验证器实例
$validator = new Validate();

// 进行数据验证
if ($validator->validate($userModel)) {
    echo '数据验证通过!';
} else {
    echo '数据验证失败!';
}

Im obigen Code erstellen wir zunächst eine UserModel-Instanz $userModel und legen die zu überprüfenden Daten fest. Anschließend haben wir eine Validate-Instanz „$validator“ erstellt und deren Methode „validate()“ verwendet, um die Daten in „$userModel“ zu validieren.

Wenn das Rückgabeergebnis wahr ist, bedeutet dies, dass die Datenüberprüfung erfolgreich war. Andernfalls bedeutet dies, dass die Datenüberprüfung fehlgeschlagen ist.

5. Zusammenfassung

In diesem Artikel haben wir gelernt, wie man eine benutzerdefinierte Implementierung in PHP verwendet, um die Datenüberprüfung abzuschließen. Durch die Implementierung einer Datenüberprüfungsklasse können wir die zu überprüfenden Daten und die entsprechenden Überprüfungsregeln flexibel definieren und so die Stabilität und Sicherheit der Anwendung besser gewährleisten.

Das obige ist der detaillierte Inhalt vonAn einem Beispiel wird erläutert, wie Sie mit PHP eine Datenüberprüfungsfunktion implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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