Auch wenn Sie eine tragen S auf der Brust, wenn es um die Programmierung geht, werden sich Fehler zweifellos in Ihre Anwendung einschleichen. Diese Fehler werden entweder von Programmierern als Folge von Codefehlern verursacht oder von Benutzern, die nicht bereit sind, sich an die Anwendung oder die Website-Beschränkungen zu halten.
Die durch die Endbenutzer verursachten Fehler sind normalerweise nachteiliger als die des Programmierers, da die vom Benutzer eingegebenen Daten oder Informationen nicht vorhersagbar sind.
In einem E-Mail-Formularfeld kann der Benutzer beispielsweise anstelle der Eingabe einer gültigen E-Mail-Adresse eingeben ein Nicht-E-Mail-Text. Wenn die Website keinen soliden Fehlerbehandlungsmechanismus aufweist, kann der Benutzer unberechtigten Zugriff auf vertrauliche Informationen erhalten.
Da das Verhalten des Benutzers nicht vorhergesagt werden kann, kann eine Website oder Anwendung so programmiert werden, dass ungültige Daten, die vom Benutzer eingegeben wurden, unberechtigt zurückgewiesen werden und der Benutzer darüber informiert wird, dass die Daten ungültig waren. Dieser Vorgang wird als Fehlerbehandlung bezeichnet
WordPress wird mit einer WP_Error-Klasse geliefert, die die Fehlerbehandlung in Plugins und WordPress selbst wesentlich vereinfacht.
Das WP_Error
Klasse besteht aus zwei Eigenschaften und acht Methoden. Diese Eigenschaften werden intern von der Klasse verwendet. Diese Eigenschaften werden wahrscheinlich nicht benötigt, da die meisten Aufgaben, die Sie ausführen möchten, mit den Klassenmethoden ausgeführt werden können.
Nachfolgend sind die beiden Klasseneigenschaften und ihre Eigenschaften aufgeführt.
$ Fehler
istein Array mit der Fehlerliste.$ error_data
ist ein Array, das die Liste der Daten für Fehlercodes enthält. Bevor wir die Klassenmethoden untersuchen, möchte ich diese drei Begriffe intern erklären WP_Error
Klasse - Code, Nachricht, Daten.
Machen Sie sich keine Sorgen, wenn sie im Moment schwer zu verstehen sind - Dinge werden klarer, wenn wir Codebeispiele im nachfolgenden Abschnitt untersuchen.
Fehler
Klasseneigenschaft.Code
) aber auf dem gespeichert error_data
Eigentum.Nun zu den Klassenmethoden und was sie tun:
__konstruieren()
ist eine magische PHP-Methode, die drei Argumente akzeptiert - Code, Nachricht und Daten. Übergabe des Arguments bei der Instantiierung des WP_Error
Klasse richtet die Fehlermeldung ein.get_error_codes ()
Gibt eine Array-Liste aller Fehlercodes zurück, falls verfügbar.get_error_code ()
ruft den ersten Fehlercode ab und gibt String, Ganzzahl oder Leer zurück, wenn keine Fehlercodes vorhanden sind.get_error_messages ($ code)
alle Fehlermeldungen abrufen, wenn die Code
Argument fehlt oder Fehlermeldungen, die dem entsprechen Code
Streit. Gibt bei Erfolg ein Array mit Fehlerzeichenfolgen zurück, oder bei Fehler ein leeres Array (bei Verwendung des Codeparameters)..get_error_message ($ code)
bekommt eine einzelne Fehlermeldung. Dadurch wird die erste für den Code verfügbare Nachricht angezeigt. Wenn kein Code angegeben wird, wird der erste verfügbare Code verwendet. Gibt eine Fehlerzeichenfolge zurück. get_error_data ($ code)
Fehlerdaten für einen bestimmten Fehlercode abrufen. Gibt die Daten oder null zurück, wenn keine Fehler vorliegen. hinzufügen ($ code, $ message, $ data)
Hängen Sie weitere Fehlermeldungen an die Liste der Fehlermeldungen an.add_data ($ data, $ code)
fügt Daten für Fehlercode hinzu. Der Fehlercode kann nur ein Stück Fehlerdaten enthalten.Um die WP_Error
Klasse für die Fehlerbehandlung, instanziieren Sie zunächst die Klasse, indem Sie die Klassenmethode verwenden. Sie können eine Fehlermeldung hinzufügen, indem Sie die Code
, Botschaft
, und Daten
auf instantiation.
$ my_error = new WP_Error ('toy', 'mein Lieblingsspielzeug ist Dolly');
Untersuchen Sie die Struktur des $ my_error-Objekts über print_r ()
enthüllt:
WP_Error-Objekt ([errors] => Array ([toy] => Array ([0] => mein Lieblingsspielzeug ist Dolly)) [error_data] => Array ()
Beachten Sie, dass unser definierter Fehler in gespeichert wird Fehler
Klasseneigenschaft während der error_data
Eigenschaft hat keine Daten.
Wenn Sie ein drittes Argument zur Instantiierung übergeben, erstellen Sie Daten mit der Code
(erstes Argument) ist der Array-Schlüssel und das dritte Argument (Daten
), der Arraywert.
WP_Error-Objekt ([errors] => Array ([toy] => Array ([0] => mein Lieblingsspielzeug ist Dolly)) [error_data] => Array ([toy] => my best))Um weitere Fehlermeldungen zur Fehlerliste hinzuzufügen oder anzufügen, klicken Sie auf
hinzufügen
verwendet wird, die akzeptierenCode
,Botschaft
, undDaten
als Methodenargument.add ("game", "meine Lieblings-Spielekonsole ist PS4");Übergabe eines dritten Arguments (gemischter Datentyp) an
hinzufügen()
Die Methode fügt dem Fehlercode Daten hinzu.Hinzufügen ("Spiel", "Meine Lieblings-Spielekonsole ist PS4", "Bestes Spiel");Verwenden
print_r ()
Lassen Sie uns noch einmal die Struktur und die Informationen unserer sehen$ my_error
WP_Error
Objekt.WP_Error-Objekt ([Fehler] => Array ([Spielzeug] => Array ([0] => Mein Lieblingsspielzeug ist Dolly) [Spiel] => Array ([0] => Meine Lieblingsspielkonsole ist PS4)) [Fehlerdaten ] => Array ([Spielzeug] => Bestes Spielzeug [Spiel] => Bestes Spiel))Das
Daten hinzufügen()
Diese Methode kann auch verwendet werden, um strikte Daten für den Fehlercode hinzuzufügen. Der Fehlercode kann nur ein Fehlerdatum enthalten.$ my_error-> add_data ('Mein bester Lehrer ist Uncle Sam', 'Lehrer');Wir haben gelernt, wie Sie eine Fehlermeldung und Daten in die Instanz einfügen und hinzufügen
WP_Error
Objekt. Mal sehen, wie man die Fehlermeldung, den Code und die Daten abruft.Verwendung der
get_error_codes ()
Die Methode gibt eine Array-Liste aller Fehlercodes zurück.print_r ($ my_error-> get_error_codes ()); / * gibt Array zurück ([0] => toy [1] => game) * /Während
get_error_code ()
gibt nur den ersten Fehlercode zurück.print_r ($ my_error-> get_error_code ()); // SpielzeugDas
get_error_messages ()
Rufen Sie alle Fehlermeldungen ab, wenn dieCode
Argument fehlt oder Fehlermeldungen, die dem entsprechenCode
Streit.print_r ($ my_error-> get_error_messages ()); / * Rückgabe Array ([0] => Mein Lieblingsspielzeug ist Dolly [1] => Meine Lieblingsspielkonsole ist PS4) * /print_r ($ my_error-> get_error_messages ('game')); / * gibt Array zurück ([0] => meine Lieblingsspielkonsole ist PS4) * /Das
get_error_message ()
gibt eine einzelne Fehlermeldung zurück, die dem Code entspricht. Wenn kein Code vorhanden ist, wird die erste Fehlermeldung zurückgegeben.print_r ($ my_error-> get_error_message ()); // Mein Lieblingsspielzeug ist DollyDas
get_error_data ()
gibt die Daten für den Fehlercode zurück.print_r ($ my_error-> get_error_data ()); // bestes spielzeugprint_r ($ my_error-> get_error_data ('teacher')); // Mein bester Lehrer ist Uncle SamWenn Sie ein Plugin erstellen, möchten Sie vielleicht prüfen, ob eine Variable eine ist
WP_Error
Objekt. Das ist wois_wp_error ()
ist praktisch.Vielleicht möchten Sie auch sicherstellen, dass a
WP_Error
Das Objekt enthält keine Fehlernachricht, bevor eine Aktion ausgeführt wird. Im folgenden Code-Snippet wird beispielsweise geprüft, ob$ my_error
Objekt enthält keinen Fehler. Wenn wahr, "Kein Fehler, wir sind gut zu gehen"wird wiederholt.if (1> count ($ my_error-> get_error_messages ())) echo "Kein Fehler, wir sind bereit zu gehen";Zusammenfassung
In diesem ersten Teil der Serie über die Behandlung von Fehlern in WordPress
WP_Error
, Wir haben uns die Klasse angesehen und erklärt, was jede Klassenmethode mit Codebeispielen macht.Teil zwei zeigt uns einen praktischen Anwendungsfall
WP_Error
Fehler bei der Entwicklung von Plugins behandeln. Wir werden tatsächlich ein Kontaktformular-Plugin erstellen, während wir fortschreiten.
Bleiben Sie dran - verpassen Sie es nicht!