Zum Bearbeiten anmelden.

 

Doku » WordPress Coding Standards


Einige ältere Teile des WordPress-Codes unterscheiden sich wesentlich in den zugrunde liegenden PHP-Programmierstilen. WordPress arbeitet daran dies allmählich zu beseitigen. Dazu gehört den Benutzern Richtlinien an die Hand zu geben, damit sie konsistenten (bzw. einheitlichen) Code erstellen können, so daß das WordPress-Coding für jeden schnell und einfach zu lesen ist.

Behalten Sie die folgenden Punkte im Hinterkopf, wenn Sie Codes für WordPress erstellen. Egal ob für den WordPress-Kern, Plugins oder Layouts/Themes/Designs. Die Richtlinien entsprechend den Pear-Standards in vielen Punkten, unterscheiden sich aber in einigen Hauptpunkten.

einfache und doppelte Hochkommatas 
Wenn möglich sollten einfache und doppelte Hochkommatas, so genutzt werden wie es angebracht ist. Wenn Sie innerhalb eines Strings keine Variablen (zur Auswertung) einfügen, benutzen Sie einfache Hochkommatas. Sie sollten niemals in die Verlegenheit kommen Hochkommatas "escapen" zu müssen. Unter "escapen" ist die Maskierung von Hochkommatas in Textkonstanten zu verstehen, die notwendig wird um die Textkonstante für den PHP-Interpreter valide erscheinen zu lassen.

Beispiele:

echo "<a href='$link' title='$linktitle'>$linkname</a>";
echo '<a href="/static/link" title="Yeah yeah!">Link name</a>';
Die einzige Ausnahme bildet hierbei JavaScript. JavaScript schreibt an einigen Stellen einfache bzw. doppelte Hochkommatas vor. Text der in XHTML-Attribute übernommen wird, sollte durch die Texturize-Routinen geleitet werden, so das einfache oder doppelte Hochkommatas die Attribute nicht vorzeitig beenden und dazu führen das der XHTML-Code ungültig wird.
Einrückungen 
Ihre Einrückungen sollten immer die logische Struktur Ihres Programms wiedergeben. Benutzen Sie echte Tabulatoren und keine Freizeichen, da dies die Handhabung auf unterschiedlichen Clients vereinfacht.
Klammer-Stile 
Klammer-Stile können das Lesen des Codes vereinfachen, wenn sie richtig eingesetzt werden. Ein Beispiel von der Pear-Site:
if ((condition1) || (condition2)) {
    action1;
} elseif ((condition3) && (condition4)) {
    action2;
} else {
   defaultaction;
} // end blah
Desweiteren: Wenn Sie einen wirklich langen Codeblock haben, setzen Sie einen Kommentar an das Ende des Blocks, so das andere Programmierer das Ende der Klammerung auf einen Blick erkennen können. Bringen Sie diese Endkommentare nicht zu Dicht beieinander an, dadurch wird der Code nur unübersichtlicher. Sinnvoll sind diese Markierungen ab einem Abstand von etwa 35 Zeilen.
include_once vs. require_once 
Erkennen Sie den Unterschied zwischen include_once und require_once, und benutzen Sie es jeweils dort wo es angebracht ist. Um die Seite des PHP-Handbuchs zum Thema include() zu zitieren: "Die beiden Konstrukte sind in jeder Hinsicht identisch, wenn man davon absieht wie sie im Fehlerfall reagieren. include() erzeugt eine Warnung und require() erzeugt im Fehlerfall einen Fatal Error." Fatale Fehler führen zum Abbruch der Script-Ausführung.
Reguläre Ausdrücke
Es sollten Perl-Kompatible reguläre Ausdrücke (PCRE, preg_-Funktionen) zum Einsatz kommen, sollten bevorzugt eingesetzt werden, anstatt ihre POSIX-Entsprechungen zu benutzen.
Keine kurzen PHP-Tags
Setzen Sie niemals die kurzen PHP-Anfangssequenzen ein. Benutzen Sie immer <?php ... ?>
Freizeichen nach Kommata
Benutzen Sie nach Kommatas immer ein Freizeichen, ebenso wie auf beiden Seiten logischer Operatoren wie =, ==, !=, etc.
SQL-Statements formatieren
Formatieren Sie SQL-Statements, indem Sie diese in mehrere Zeilen aufbrechen und einrücken, sofern diese Komplex genug sind, um dies Sinnvoll erscheinen zu lassen. Die meisten Statements funktionieren einzeilig geschrieben sehr gut, sind oftmals jedoch schlecht lesbar. Setzen Sie die SQL-Anteile des Statements immer in Großbuchstaben ein.
Beispiel:
      $update = $wpdb->query("UPDATE $wpdb->wp_onlinecounter ".
                             "   SET timestamp = '$timestamp', ".
                             "       count     = '$count', ".
                             "       maxon     = '$maxon', ".
                             "       maxontime = '$maxontime', ".
                             "       user_id   = '$user_ID' ".
                             " WHERE ip        = '$_SERVER[REMOTE_ADDR]' ");
Variablen, Funktionen und Operaoren 
Wenn Sie eine Variable nur einmal einsetzen -> setzen Sie sie nicht ein! Dies schließt Datenbank-Handler ein. Benutzen Sie immer die Funktionen der wpdb-Klasse, wenn Sie auf die Datenbank zugreifen wollen.
Ternary-Operatoren sind eine feine Sache, aber prüfen Sie immer ob die Ergebnisse des Statement True und nicht False ergeben. Andernfalls sind sie nur verwirrend.
// GUTES Beispiel:
// (if statement is true) ? (do this) : (if false, do this);
$alert = ('1.5.1' == $version) ? 'This version is 1.5.1' : 'This version is NOT 1.5.1';

// SCHLECHTES Beispiel:
// (if statement is false) ? (do this) : (if true, do this);
$alert = ('1.5.2' != $version) ? 'This version is NOT 1.5.2' : 'This version is 1.5.2';
Ein weiterer wichtiger Punkt in den obigen Beispielen: Stellen Sie bei der Durchführung von logischen Vergleichen die Variable immer auf die rechte Seite, wie oben. Wenn Sie ein Gleichheitszeichen vergessen, wird dann immer ein "Parse Error" des Interpreters ausgegeben, anstatt das Statement mit True zu bewerten. Es kostet wirklich nicht mehr Zeit, diese Schreibweise bei zu behalten, wenn sie jedoch einen Bug im Code erspart, ist sie es Wert.

zurück zur Entwickler-Dokumentation