Heim > CMS-Tutorial > WordDrücken Sie > Eine Einführung in die WP_Error -Klasse

Eine Einführung in die WP_Error -Klasse

Jennifer Aniston
Freigeben: 2025-02-17 09:55:16
Original
311 Leute haben es durchsucht

WP_Error -Klasse für WordPress: Eleganter Fehlerbehandlungsmechanismus

WordPress's WP_Error Klasse bietet einen einfachen und leistungsstarken Fehlerbehandlungsmechanismus zum Verwalten und Ändern von Fehlern in Anwendungen. Es ist einfach, sich in Ihre Anwendung zu integrieren, mit den von WordPress -Kernfunktionen zurückgegebenen Fehler zu integrieren und benutzerdefinierte Fehlermeldungen zu erstellen, um die Benutzererfahrung zu verbessern. Darüber hinaus können praktische Funktionen wie is_wp_error prüfen, ob der Variable- oder Funktionsrückgabewert eine Instanz von WP_Error ist, wodurch die Probleme effizient debuggen.

Egal wie geschickt und akribisch Ihr Code geschrieben ist, Fehler können in keinem Entwicklungsprozess vermieden werden. Als WordPress -Entwickler liegt es in Ihrer Verantwortung, sicherzustellen, dass alle Codefehler korrekt behandelt werden, ohne den Endbenutzer zu beeinflussen. WordPress verfügt über eine grundlegende Fehlerhandhabungsklasse WP_Error, die für die grundlegende Fehlerbehandlung in Ihren Code integriert werden kann.

Dieses Tutorial untersucht die Grundstruktur und die Arbeitsprinzipien von WP_Error Klassen. Vor allem werden wir vorstellen, wie Sie WP_Error Klassen in Ihre Anwendung integrieren.

An Introduction to the WP_Error Class

WP_Error Detaillierte Erläuterung der Kategorie

WP_Error Die Klasse hat eine einfache, aber leistungsstarke Funktion, die ausreicht, um als Fehlerbehandlungsmechanismus für Plug-Ins verwendet zu werden. Sein Quellcode befindet sich in der Datei wp-includes/class-wp-error.php. Schauen wir uns seine Eigenschaften und Methoden an.

Eigenschaften

WP_Error Es gibt nur zwei private Attribute: $errors und $error_data. $errors wird verwendet, um verwandte Fehlermeldungen zu speichern, während $error_data optional zum Speichern relevanter Daten verwendet wird, auf die Sie später zugreifen möchten. WP_Error Verwenden Sie einfache Schlüsselwertpaare, um verwandte Fehler und Daten in ein Objekt zu speichern. Daher müssen die in WP_Error definierten Tasten eindeutig sein, um die zuvor definierten Tasten zu vermeiden.

Methode

WP_Error bietet verschiedene Möglichkeiten, um die beiden enthaltenden Eigenschaften zu ändern. Schauen wir uns ein paar an:

  • get_error_codes(): Gibt alle verfügbaren Fehlercodes für eine bestimmte WP_Error -Schunierung zurück. Wenn nur der erste Fehlercode benötigt wird, ist eine andere separate Funktion verfügbar. get_error_code()
  • : Wenn get_error_messages( $code ) nicht bereitgestellt wird, gibt die Funktion einfach alle in der spezifischen $code gespeicherten Nachrichten zurück. Wenn Sie nur eine Nachricht mit einem bestimmten Fehlercode zurückgeben müssen, verwenden Sie einfach WP_Error. get_error_message( $code )
  • : Diese Funktion ist besonders nützlich, wenn Sie Fehler ändern möchten, die in instanziierten add( $code, $message, $data ) -Objekten gespeichert sind. Beachten Sie, dass auch wenn WP_Error und $message nicht erforderlich sind, die $data Variablen trotzdem gefüllt werden. $errors
  • : Wenn Sie die Eigenschaft add_data( $data, $code) nur ändern möchten, können Sie diese Funktion verwenden. Beachten Sie, dass sich der Parameter $error_data in der zweiten Position entgegen der $code -Methode befindet. Wenn nicht add angegeben ist, werden die Fehlerdaten zum ersten Fehlercode hinzugefügt. $code
  • : Dies ist eine neue Methode, die kürzlich in WordPress 4.1 hinzugefügt wurde, wodurch alle Fehlermeldungen und Daten beseitigt werden, die einem bestimmten Schlüssel zugeordnet sind. remove( $code )
Funktion

Woher wissen Sie, ob die spezifische Variable oder die von einer Funktion zurückgegebenen Daten eine Instanz von

ist? Sie können mithilfe einer Versorgungsfunktion WP_Error prüfen, die basierend auf der angegebenen Variablen True oder False zurückgibt. is_wp_error()

  • : Return true, wenn is_wp_error( $thing ) eine Instanz von $thing ist, ansonsten return false. WP_Error
implementieren Sie in Ihrer Anwendung

WP_Error

Verstehe einfach nur, wie

intern funktioniert. Sie müssen auch lernen, wie man es in Ihrer eigenen Anwendung gut implementiert. Nehmen wir ein paar Beispiele, um besser zu verstehen, wie es funktioniert. WP_Error

Verarbeitungsfehler, die von der WordPress -Kernfunktion

zurückgegeben wurden

WordPress bietet viele praktische Funktionen, mit denen wir unseren Entwicklungsprozess beschleunigen können. Die meisten Funktionen sind auch mit grundlegenden Fehlerbehandlungsfunktionen ausgestattet, die wir verwenden können.

ist beispielsweise

eine sehr nützliche Funktion, mit der wir eine Remote -Postanforderung an eine bestimmte URL erstellen können. Wir können jedoch nicht erwarten, dass die Remote -URL immer zugänglich ist, oder unsere Anfragen sind immer erfolgreich. Wir wissen von der manuellen Seite, dass diese Funktion wp_remote_post zurückgibt, wenn sie fehlschlägt. Dieses Wissen hilft uns, die Fehlerbehandlung in unserer Anwendung korrekt zu implementieren. WP_Error

Bitte sehen Sie diesen Code:

// 向远程 URL $url 发出请求
$response = wp_remote_post( $url, array(
    'timeout' => 30,
    'body' => array( 'foo' => 'bar' )
    )
);

if ( is_wp_error( $response ) ) {
   echo 'ERROR: ' . $response->get_error_message();
} else {
    // 执行某些操作
}
Nach dem Login kopieren
Nach dem Login kopieren
Wie Sie sehen, führen wir eine Remote -Post -Anfrage an

durch. Anstatt einfach die $url -Daten so zu erhalten, wie sie sind, führen wir einige Überprüfungen mit der zuvor eingeführten Funktion $response durch. Wenn alles funktioniert, können wir weiterhin das tun, was wir mit is_wp_error machen wollen. $response

Rückgängig einen benutzerdefinierten Fehler in Ihrer Anwendung

zurückgeben

Angenommen, Sie haben eine benutzerdefinierte Funktion, die die Einreichung eines Kontaktformulars namens handle_form_submission übernimmt. Nehmen wir an, wir richten irgendwo ein benutzerdefiniertes Formular ein. Sehen wir uns an, wie wir die Funktion verbessern können, indem wir unsere eigenen Fehlerbehandlungsfunktionen implementieren.

// 向远程 URL $url 发出请求
$response = wp_remote_post( $url, array(
    'timeout' => 30,
    'body' => array( 'foo' => 'bar' )
    )
);

if ( is_wp_error( $response ) ) {
   echo 'ERROR: ' . $response->get_error_message();
} else {
    // 执行某些操作
}
Nach dem Login kopieren
Nach dem Login kopieren

Natürlich müssen Sie auch Ihre eigene Reinigung und Überprüfung in diesen Funktionen implementieren, dies liegt jedoch nicht im Rahmen dieses Tutorials. Wenn wir wissen, dass wir die WP_Error -Schelle, wenn wir fehlerfrei sind, korrekt zurückgeben, können wir es verwenden, um dem Endbenutzer aussagekräftigere Fehlermeldungen bereitzustellen.

Angenommen, es gibt einen bestimmten Teil in Ihrer Anwendung, bei dem die Formulierungsfehler angezeigt werden. Dies können Sie dies tun:

function handle_form_submission() {
    // 在此处执行你的验证、nonce 等操作

    // 实例化 WP_Error 对象
    $error = new WP_Error();

    // 确保用户提供名字
    if ( empty( $_POST['first_name'] ) ) {
        $error->add( 'empty', 'First name is required' );
    }

    // 也需要姓氏
    if ( empty( $_POST['last_name'] ) ) {
        $error->add( 'empty', 'Last name is required' );
    }

    // 检查电子邮件地址
    if ( empty( $_POST['email'] ) ) {
        $error->add( 'empty', 'Email is required' );
    } elseif ( ! is_email( $_POST['email'] ) ) {
        $error->add( 'invalid', 'Email address must be valid' );
    }

    // 最后,检查消息
    if ( empty( $_POST['message'] ) ) {
        $error->add( 'empty', 'Your message is required' );
    }

    // 发送结果
    if ( empty( $error->get_error_codes() ) ) {
        return true; // 没有错误
    }

    // 有错误
    return $error;
}
Nach dem Login kopieren

Zusammenfassung

bemüht sich, sich in der Softwareentwicklung zu übertreffen, bedeutet auch, zu wissen, was zu tun ist, wenn Ihr Code nicht das tun kann, was er tun sollte, und sicherzustellen, dass Ihre Anwendung sie anmutig behandeln kann.

Für WordPress bietet die Verwendung der enthaltenen WP_Error -Klasse eine ziemlich einfache, aber leistungsstarke Implementierung der Fehlerbehandlung, die Sie in Ihre Anwendung integrieren können.

(Die externen Referenzen und FAQ-Abschnitte im Originaltext werden hier weggelassen, da sie direkte Kopien des Originaltextes sind und die Anforderungen der Pseudooriginalität nicht erfüllen.)

Das obige ist der detaillierte Inhalt vonEine Einführung in die WP_Error -Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage