Die WordPress-Codierungsstandards Einfache und doppelte Anführungszeichen

In dieser Serie werfen wir einen Blick auf die PHP-Codierungsstandards von WordPress, um besser zu verstehen, wie qualitativ hochwertiger WordPress-Code geschrieben werden soll.

Sicher, all dies ist in den WordPress-Codierstandards dokumentiert. Diese Website sollte jeder WordPress-Entwickler mit einem Lesezeichen versehen und zur Hand haben, wenn Sie an einem Thema, einem Plugin oder einer Anwendung arbeiten. Wenn Sie sich jedoch gerade mit der WordPress-Entwicklung befassen, ist es wichtig, die Gründe dafür zu verstehen Warum Die Konventionen sind so, wie sie sind.

In diesem Artikel werden wir die Verwendung von einfachen Anführungszeichen und doppelten Anführungszeichen speziell beim Umgang mit Strings betrachten.

Dies ist möglicherweise der kürzeste und unkomplizierteste Artikel in der Serie, sollte jedoch einige wichtige Nuancen in Bezug auf das Arbeiten mit einfachen Anführungszeichen, doppelten Anführungszeichen und Strings in WordPress berücksichtigen.


Strings in PHP und Strings in WordPress

Bevor wir Strings wirklich in Bezug auf WordPress diskutieren, ist es wichtig zu verstehen, wie die PHP-Sprache Strings interpretiert, wenn sie in einfachen oder doppelten Anführungszeichen stehen.

Einzelne Anführungszeichen in PHP

Erstens, die einfachste und einfachste Möglichkeit, eine Zeichenfolge in PHP zu definieren, besteht darin, sie einfach in einfache Anführungszeichen (dh das '' - Zeichen) einzugeben..

Wie bei den meisten Programmiersprachen sind Möglichkeiten, Zeichen zu umgehen, damit Sie ein String-Literal schreiben können. Wenn Sie beispielsweise Folgendes schreiben wollten: "Zeichenfolgen in PHP sind einfach" als Zeichenfolge, können Sie Folgendes tun:

"Zeichenfolgen in PHP sind einfach."

Sehen? Die Backslashes weisen PHP an, das einfache Anführungszeichen auszugeben, anstatt den eigentlichen String zu beenden.

Die zweite Sache, die Sie beachten sollten, ist, dass es eine Variable gibt, wenn Sie eine Variable haben nicht Bei Anführungszeichen in einfachen Anführungszeichen ersetzt werden. Angenommen, Sie haben eine Variable aufgerufen $ name und es enthält den Wert "Envato".

Im Einzelnen würde dies im Code so aussehen:

$ name = 'Envato'

Wenn du das einbetten möchtest $ name Variable in eine andere Zeichenfolge, 'Envato' würde nicht ersetzt.

 $ name = 'Envato'; echo 'Ich schreibe für $ name. Es macht viel Spass.';

Das würde nur Echo sein: Ich schreibe für $ name. Es macht viel Spass.

An dieser Stelle beginnen doppelte Anführungszeichen.

Doppelte Anführungszeichen in PHP

Direkt aus dem PHP-Handbuch:

Wenn die Zeichenfolge in doppelte Anführungszeichen (") eingeschlossen ist, interpretiert PHP weitere Escape-Sequenzen für Sonderzeichen.

Sie können mehr über die Escape-Zeichen und andere Informationen im PHP-Handbuch nachlesen. Angenommen, wir haben einige der oben definierten Zeichenfolgen überarbeitet.

Unser erstes Beispiel, das ist das mit einem Escape-Anführungszeichen, könnte jetzt folgendermaßen definiert werden:

"Zeichenfolgen in PHP sind einfach."

Unser zweites Beispiel könnte noch einen Schritt weiter gehen: Es wird nicht nur die Escape-Sequenz nicht mehr benötigt, sondern auch die Variable wird ausgewertet:

 $ name = 'Envato'; echo "Ich schreibe für $ name. Es macht sehr viel Spaß.";

Die zweite Zeile wird buchstäblich wiedergegeben: Ich schreibe für Envato. Es macht viel Spass.

Lassen Sie uns mit dieser Einführung als Einführung über die Besonderheiten von Strings in WordPress sprechen. Die Wahrheit ist, wenn Sie alle oben genannten Aspekte genau kennen, gibt es nicht mehr als ein paar Einzelfälle.

Einzelne Anführungszeichen in WordPress

Im Einklang mit den PHP-Codierungskonventionen gilt als Faustregel, dass Sie immer einfache Anführungszeichen verwenden, um Ihre Zeichenfolgen zu definieren.

Zu den in WordPress geleisteten Arbeiten gehört auch das Ausschreiben von Markup innerhalb Als PHP-Zeichenfolge sollten Sie diese Zeichenfolgen in einfache Anführungszeichen setzen, damit die Attribute des HTML-Elements in doppelte Anführungszeichen eingeschlossen werden können.

Zum Beispiel:

$ html = 'WordPress';

Offensichtlich sorgt das obige für ein viel saubereres Leseerlebnis, als mehrere Escape-Zeichen einfügen zu müssen, um doppelte Anführungszeichen, Schrägstriche usw. zu verwenden.

Wenn Sie mit Markups arbeiten, die mehrere Zeilen umfassen müssen, oder wenn Sie mehrere Elemente erstellen, von denen einige untergeordnete Elemente anderer Elemente sind, empfehle ich immer, den Code so einzurücken, dass er wie ein HTML-Dokument gelesen wird.

Zum Beispiel:

 $ name = 'Tom McFarlin'; $ html = '
'; $ html. = ''. $ name ''; $ html. =
';

Es ist wichtig anzumerken, dass dies nicht Teil der WordPress-Codierungsstandards ist - diese Konvention finde ich einfach nützlich, wenn es um die Pflege von Code geht - erinnern Sie sich jedoch daran, dass einzelne zitierte Zeichenfolgen dies tun nicht werte den Wert einer Variablen aus.

In diesem Fall ist es wichtig zu beachten, dass in diesem Fall die Verkettung von Zeichenfolgen verwendet wird, um die Variablendefinition einzuschließen.

Doppelte Anführungszeichen in WordPress

Wie bei doppelten Anführungszeichen in PHP ist es wichtig zu beachten, dass es manchmal vorzuziehen ist, diese zu verwenden, insbesondere wenn Sie eine Variable auswerten müssen.

Bei Verwendung des Beispiels aus dem obigen Code würden wir es wie folgt anpassen:

 $ name = 'Tom McFarlin'; $ html = "
"; $ html. ="$ name"; $ html. ="
";

Beachten Sie, dass wir alle einfachen Anführungszeichen durch doppelte Anführungszeichen ersetzt haben und dass keine Zeichenfolgenverkettung mehr mit dem String durchgeführt werden muss $ name Variable, da es ausgewertet wird.

Es ist auch wichtig anzumerken, dass dies durchaus möglich ist häufiger Um doppelte Anführungszeichen auf HTML-Attribute zu sehen, funktionieren auch einfache Anführungszeichen gut, besonders in Szenarien wie diesem.


Aber dort Sind Ausnahmen

Wenn Sie mit Strings und verschiedenen Programmiersprachen - nämlich HTML - arbeiten, kann es etwas kompliziert werden, wie Sie Ihren Code verschachteln.

Angenommen, Sie verwenden PHP zum Schreiben von JavaScript, das für die Wiedergabe von HTML verantwortlich ist. In diesem Szenario werden Sie viele Zitate schreiben.

Es ist zwar möglich, Ihre Anführungszeichen einfach zu ändern, dies funktioniert jedoch nicht 100% der Zeit.

Sogar die Kodierungsstandards besagen:

Eine Ausnahme bildet JavaScript, das manchmal doppelte oder einfache Anführungszeichen erfordert.

Obwohl es manchmal Zeiten gibt, in denen dies möglicherweise nicht möglich ist, bestärkt dies die Idee, dass wir uns bemühen sollten, jede Programmiersprache in ihrem eigenen Dateistil zu behalten und sie wann und wo nötig einzubeziehen.


Gibt es irgendwelche Sicherheitsprobleme??

Ja, aber WordPress macht es extrem einfach, sie zu verwalten. Obwohl dies technisch gesehen unter die Validierung von Daten fällt, hängt es eng mit dem ab, was wir in diesem Artikel besprechen.

Das Hauptproblem ist, dass es manchmal Zeiten gibt, in denen wir HTML-Attribute dynamisch in unser Markup schreiben, deren Werte wir nicht vorhersehen können. In solchen Fällen müssen wir die Daten schützen können.

Glücklicherweise bietet WordPress die esc_attr Funktion. Einfach ausgedrückt, diese Funktion nimmt eine eingehende Zeichenfolge und kodiert die Zeichen, um sicherzustellen, dass sie ordnungsgemäß im Browser gerendert werden.

In der Praxis würden Sie es genau so verwenden, wie es der Codex zeigt:

 Echo '';

Weitere Informationen finden Sie im Codex-Artikel.


Fazit

Als Faustregel gilt: Verwenden Sie einfache Anführungszeichen es sei denn Sie werden eine Zeichenfolge auswerten oder HTML, JavaScript oder möglicherweise sogar CSS an den Aufrufer zurücksenden.

Genauso wie die Kodierungsstandards besagen:

Sie sollten in Anführungszeichen fast nie in Anführungszeichen gehen müssen, da Sie einfach Ihren Anführungsstil ändern können.

Wenn Sie also in Ihrer zukünftigen Arbeit mit Strings arbeiten, sollten Sie diese Prinzipien im Hinterkopf behalten. Dies könnte dazu beitragen, dass Ihre Strings im Rahmen Ihrer WordPress-basierten Projekte so sauber und verständlich wie möglich sind.