Die WordPress-Codierungsstandards Zahnspangen, reguläre Ausdrücke und PHP-Tags

In dieser Serie haben wir uns eingehend mit den WordPress-Codierungsstandards beschäftigt, um sie zu verbreiten, zu verstehen und zu beginnen, sie in unserer täglichen Arbeit praktisch anzuwenden.

Wenn Sie gerade an der Serie teilnehmen, haben wir bisher die folgenden Themen behandelt:

  • Namenskonventionen und Funktionsargumente
  • Einfache und doppelte Anführungszeichen
  • Einrückung, Speicherplatznutzung und nachfolgende Leerzeichen

In diesem Artikel werden wir weiterhin auf den Inhalt des vorherigen Artikels aufbauen: Insbesondere werden wir uns den Klammerstil, reguläre Ausdrücke und Nuancen bei der Arbeit mit PHP-Tags im Kontext von ansehen Erstellen von WordPress-Themes, Plugins und Anwendungen.


Warum der Stil wichtig ist

In dieser Serie haben wir immer wieder wiederholt, dass Codierungsstandards dazu beitragen, Code lesbarer und wartbarer zu machen, und dass sie letztendlich so aussehen sollen, als hätte ein Entwickler den Code geschrieben.

Aber eines der Dinge, über die wir eigentlich nicht viel geredet haben, ist der Grund Stil Angelegenheiten. Zunächst stellt sich jedoch die Frage: Was ist der Unterschied zwischen Stil- und Codierungskonventionen??

Ehrlich gesagt denke ich, dass einige sagen würden, dass es keinen Unterschied gibt - tatsächlich würden sie sagen, dass sie es auch sind. Ich stimme nicht unbedingt zu. Ich persönlich habe es immer so gesehen, dass es Kodierungsstandards gibt definieren der Stil des Codes, der geschrieben wird. Codierungsstandards sind die Konventionen, nach denen wir unseren Code gestalten.


Brace Style

Lassen Sie uns also das Gespräch über Codierungskonventionen fortsetzen, indem wir uns ansehen, wie die WordPress-Codierungsstandards die Verwendung von geschweiften Klammern definieren.

Im Allgemeinen sind die Regeln einfach:

  • Einzeilige Blöcke können Klammern weglassen
  • Mehrzeilige Blöcke sollten immer geschweifte Klammern enthalten
  • Wenn Sie übermäßig mehrzeilige Bedingungen haben, sollten Sie die Bedingungen in ihre eigenen Funktionen aufteilen, um den Block zu minimieren

Diese Prinzipien werden oft am besten im Code demonstriert. Die ersten beiden sind einfach:

 // Bedingte Beispiele für eine Zeile if (Bedingung1) do_work (); if (Bedingung1) do_work (); else dont_do_work (); // Mehrzeilige Bedingungen if (Bedingung1) do_work (); do_more_work ();  else dont_do_work (); serious_be_lazy ();  // Einzeilige Schleifen (wahr für do / while, while, for und foreach) while (Bedingung1) dont_stop_believing (); // Einzeilige Schleifen (wahr für do / while, while, for und foreach) while (Bedingung1) dont_stop_believing (); hold_on_to_that_feeling (); 

Nichts fürchterlich kompliziert, richtig?

Tatsächlich können Sie sehen, dass ich in den obigen Blöcken Methoden verwendet habe. Was uns zu unserem nächsten Prinzip führt: Wenn Sie einen übermäßig komplizierten Körper in Ihrer Bedingung haben, wird dies wahrscheinlich dazu beitragen, die Bedingung für eine leichtere Lesbarkeit zu ändern.

Schauen wir uns ein Beispiel an.

Vor

In diesem Beispiel werden wir die Metadaten des aktuellen Benutzers durchlaufen. Wenn der Metaschlüssel des aktuellen Benutzers den Teilstring "destroy:" enthält, löschen wir den Metaschlüssel dieses Benutzers.

Beachten Sie in diesem Beispiel, dass die gesamte Arbeit in einer Bedingung ausgeführt wird für jeden Schleife und dann in einer anderen Bedingung.

 // Wenn Bedingung1 wahr ist… Wenn (Bedingung1) //… dann die Metadaten des Benutzers für den aktuellen Benutzer abrufen (for_get_user_meta (wp_get_current_user () -> ID) als $ meta_key => $ meta_value) // Wenn der Benutzer dies hat Wenn Sie einen Zerstörungswert festlegen, löschen Sie ihn. Das heißt, sie haben sich entschieden, einen Benutzer nicht zu löschen. if (strstr ($ meta_key, 'destroy:')) delete_user_meta (wp_get_current_user () -> ID, $ meta_key); 

Viel verschachtelter Code, richtig?

Nach dem

Es gibt verschiedene Möglichkeiten, dies zu ändern. Tatsächlich werden einige Entwickler so weit gehen, jeden Block in seine eigene Methode zu abstrahieren - daran ist auch nichts auszusetzen.

Um dies jedoch zu demonstrieren, bieten wir nur eine Abstraktionsebene: Wir werden die Schleife und die innere Bedingung machen, auf eine Funktion verschieben, die einen Benutzer akzeptiert, und dann die ursprüngliche Aktion ausführen.

 // Wenn Bedingung1 wahr ist… Wenn (Bedingung1) Prozessbenutzer (wp_get_current_user ());  function process_user ($ user) // Liefert die Meteta-Daten des Benutzers für den aktuellen Benutzer foreach (get_user_meta ($ user-> ID) als $ meta_key => $ meta_value) // Wenn der Benutzer einen Zerstörungswert gesetzt hat, löschen Sie ihn . Das heißt, sie haben sich entschieden, einen Benutzer nicht zu löschen. if (strstr ($ meta_key, 'destroy:')) delete_user_meta ($ benutzer-> ID, $ meta_key); 

Wie ich schon sagte, ist dies ein relativ einfaches Beispiel, aber der Punkt bleibt bestehen: Das Verschieben eines großen Codeblocks in eine eigene, spezialisierte Funktion kann einen großen Beitrag zum Refactor der Bedingung leisten, sodass sie leichter lesbar ist.


Reguläre Ausdrücke

An diesem Punkt werden wir etwas umschalten und kurz über reguläre Ausdrücke sprechen. Wenn Sie mit regulären Ausdrücken nicht vertraut sind, sollten Sie einfach wissen, dass es sich dabei um leistungsstarke Methoden zum Abgleichen von Zeichen oder Strings handelt. Sie können auf Wikipedia viel mehr darüber erfahren.

Irgendwann in Ihrer WordPress-Entwicklungskarriere werden Sie wahrscheinlich auf sie stoßen - entweder im Kern-Quellcode, im Code des Designs oder im Plugin oder sogar, um eine Aktion in Ihrem eigenen Projekt auszuführen.

Glücklicherweise bietet PHP einige sehr einfache, wirklich leistungsfähige Funktionen für die Verwendung regulärer Ausdrücke in Ihrem Code. Es gibt jedoch richtige und unangemessene Anwendungen, wenn es darum geht, mit ihnen in WordPress zu arbeiten.

Hier sind die allgemeinen Regeln:

  • Verwenden Sie die preg Funktionen, die PHP bietet
  • Verwenden Sie nicht die \ e Schalter, der von PHP - use angeboten wird preg_replace_callback stattdessen.

Für Neugierige gibt es eine Reihe von Funktionen.

Zum Beispiel empfehle ich, mich mit folgenden Themen vertraut zu machen:

  • preg_replace
  • preg_match
  • preg_match_all

Endlich, preg_replace_callback ist eine Möglichkeit, eine Funktion aufzurufen, wenn ein regulärer Ausdruck eine Übereinstimmung gefunden hat.

Natürlich sind die Regeln für reguläre Ausdrücke in WordPress einfach - es geht eher darum, die Funktionen zu kennen, die Sie haben sollte Verwenden und was Sie nicht verwenden sollten und wie Sie sie in Ihrer täglichen Arbeit einsetzen können.


PHP-Tags

Das letzte, was in diesem Artikel behandelt werden muss, ist die Bedeutung der Verwendung von PHP-Tags in den PHP-Dateien, aus denen Ihr Projekt besteht. Zum Glück gibt es für diese spezielle Situation eine sehr einfache Faustregel:

  • Verwenden Sie niemals kurze PHP-Tags

In erster Linie bedeutet dies, dass Sie niemals eine Datei oder eine Inline-PHP-Anweisung mit öffnen sollten oder mit . Natürlich sollten alle Inline-PHP-Anweisungen noch mit der ?> schließendes Tag.

Nun, dieses nächste Thema ist ein wenig von den Coding-Standards entfernt, zumindest zum Zeitpunkt der Erstellung dieses Dokuments. Es ist üblich, das abschließende Tag am Ende der Datei zu lassen dann und nur dann, wenn Die erste Zeile der betreffenden Datei ist eine Öffnung Etikett.

Dies ist insbesondere im Zusammenhang mit Plugins häufiger als in Themes. Der Grund: PHP ist eine Möglichkeit, serverseitigen Code in Front-End-Markup einzubetten. Daher sind sowohl ein öffnendes Tag als auch ein schließendes Tag erforderlich, damit der Interpreter wissen kann, wie der Code zu analysieren ist.

Wenn Sie jedoch ein Plugin oder eine Anwendungsdatei schreiben, die zu 100% aus PHP besteht, müssen Sie am Ende der Datei kein abschließendes Tag hinzufügen. Der Parser wird es selbst erkennen können tun Fügen Sie ein abschließendes Tag ein. Dann können möglicherweise Leerzeichen am Ende der Datei verbleiben, die alle möglichen Probleme verursachen können, wenn das Plugin aktiviert wird.

Zusätzlich zu dem oben definierten Codierungsstandard würde ich Folgendes hinzufügen:

  • Vermeiden Sie das Hinzufügen eines abschließenden PHP-Tags in reinen PHP-Dateien.

Fazit

Am Ende der Untersuchung der WordPress-Codierungsstandards werden wir uns auf kleinere Dinge konzentrieren, wie z. B. ternäre Operatoren und Yoda-Bedingungen. Wir werden jedoch auch die Feinheiten der Durchführung von Inline-SQL-Abfragen und die wichtigen Regeln dazu betrachten.

Wenn Sie die Serie noch nicht eingeholt haben, ist es jetzt an der Zeit, das, was wir bisher beschrieben haben, durchzulesen, da es sich darauf auswirkt, wo wir mit den nächsten Artikeln ankommen.