An diesem Punkt der Serie haben wir schon viel besprochen. Bisher haben wir folgende Themen behandelt:
Eine Menge Zeug, oder?
In diesem speziellen Beitrag sollten wir meiner Meinung nach die Dinge etwas lockerer angehen, bevor wir zum letzten Thema kommen. Deshalb werden wir zwei sehr einfache Themen diskutieren (oft ignoriert oder übermäßig kompliziert).
Konkret sprechen wir über den ternären Operator und über Yoda-Bedingungen.
Beim Schreiben von WordPress-basiertem Code schreiben die Codierungsstandards strikt vor, dass wir zuerst die Lesbarkeit anstreben sollten. Direkt aus dem Codex:
Generell ist Lesbarkeit wichtiger als Cleverness oder Prägnanz.
Aber es gibt einige Nuancen. Einige Entwickler sind der Meinung, dass der ternäre Operator mit diesem bestimmten Prinzip etwas unvereinbar ist, insbesondere weil es eine andere Art ist, if/else
-Anweisungen zu schreiben, und wenn der Entwickler nicht mit dem Schreiben oder Lesen des ternären Operators vertraut ist, verstößt dies gegen dieses Prinzip.
Wir werden später ausführlicher darauf eingehen.
Zuallererst für diejenigen, die es nicht kennen: Der ternäre Operator ist eine vereinfachte Art, bedingte Anweisungen zu schreiben. Wird normalerweise if/else
条件语句的简化方法。通常仅当条件是最简单的形式时以及仅当存在单个 if
和单个 else
nur
nur
wenn es einen einzelnenif
- und einen einzelnen else
-Block gibt. Angenommen, wir haben eine Erkrankung wie diese:
$uses_gasoline = null; if ( 'hybrid' == $car_type ) { $uses_gasoline = false; } else { $uses_gasoline = true; } echo $uses_gasoline;
Basierend auf dem obigen Beispiel können Sie Folgendes tun:
$uses_gasoline = 'hybrid' == $car_type ? false : true; echo $uses_gasoline;
Was es wert ist, für mich kommt es dem Lesen eines Satzes sehr nahe. Der erste Satz stellt eine Frage (offensichtlich mit einem Fragezeichen unterbrochen) und gibt zwei mögliche Antworten basierend auf einer bedingten Bewertung zurück.
Es gibt eine WarnungVerwenden Sie, um zu überprüfen, ob alles, was im Kodex aufgezeichnet ist, wahr ist:
是一个例外! empty()
, da das Testen auf „falsch“ hier normalerweise intuitiver ist.
Meiner Erfahrung nach ist dies das einzige Mal, dass eine negative Bewertung in einer bedingten Anweisung verwendet wird. In all meiner Zeit, in der ich den Ternäroperator verwendet habe, habe ich festgestellt, dass das Testen auf Falschheit die Entschlüsselung ternärer Berechnungen oft erschwert.
Außerdem finde ich es besser, eine Bewertung,vielleicht zwei Bewertungen in einem sehr einfachen, klaren Kontext bereitzustellen.
Darüber hinausYoda-Bedingungen
Wenn Sie genau hinschauen, werden Sie feststellen, dass ich etwas mache, was die meisten Programmiersprachen (sogar PHP-basierte Plattformen außerhalb von WordPress) normalerweise nicht tun: Der Vergleich der Bedingungen erfolgt durch Vergleich des Werts mit der Variablen
nichtumgekehrt.
Traditionell würden wir so etwas sehen:
$uses_gasoline = null; if ( $car_type == 'hybrid' ) { $uses_gasoline = false; } else { $uses_gasoline = true; } echo $uses_gasoline;
Der entsprechende ternäre Operator sieht so aus:
$uses_gasoline = $car_type == 'hybrid' ? false : true;
echo $uses_gasoline;
Yoda-Bedingungen verwenden, warum sollte dann WordPress?
Laut Codex Alimentarius:und Sie könnten jagen stattdessen diesen Fehler.Wenn Sie im obigen Beispiel ein Gleichheitszeichen weglassen (geben Sie es zu, das passiert selbst den erfahrensten von uns), erhalten Sie einen Parse-Fehler, weil Sie nichts wie eine solche Konstante zuweisen können
true
。如果该语句是相反的( $the_force = true )
,则该赋值将完全有效,返回1
,导致 if 语句的计算结果为true
Meiner Meinung nach ist dies eine sehr, sehr gute Erklärung für die Durchführung solcher Vergleiche,
besondersin dynamisch typisierten Sprachen wie PHP und JavaScript.
Ob Sie mit diesem Ansatz einverstanden sind oder nicht, er ist Teil des Standards und wird durch den WordPress-Kern, Themes, Plugins, Artikel und mehr umgesetzt.
Fazit
Wie ich zu Beginn erwähnt habe, wird dieser spezielle Artikel einfacher und unkomplizierter sein als einige der anderen Materialien, die wir bisher in dieser Serie behandelt haben.
An diesem Punkt müssen wir nur noch ein großes Thema besprechen: Datenbankabfragen.
Anschließend gehen wir alle in dieser Reihe behandelten Themen durch, um die Prinzipien zusammenzufassen, die wir in unseren Codierungsstandards detailliert beschreiben.
🎜Aber zuerst wollen wir Datenbankabfragen besprechen. 🎜Das obige ist der detaillierte Inhalt vonEntdecken Sie ternäre Operatoren und Yoda-Bedingungen in WordPress-Codierungsstandards. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!