Modul ToolBox (CMS made simple): PHP Programmierung Richtlinien
Allgemeine Grundsätze
- Bezeichnungen als Programmierbestandteil (Variablen-Namen, Funktionen, etc.) werden in Englisch verfasst.
- Als Einzug für die Strukturierung wird ein Einzug von einem Tabulator verwendet. Leerzeichen als Einzug sind vor dem Einchecken in Tabulatoren umzuwandeln.
- Bei Dateien, die nur PHP-Code enthalten, ist der Abschlusstag ("?>") wegzulassen. Von PHP wird dieser nicht benötigt und verhindert so unerwünschte Leerzeichen beim finalen Output.
Stattdessen wird das Ende der Datei mit folgendem Kommentar gekennzeichnet: // EOF
- Strings sollte grundsätzlich mit einfachen Apostrophen (single quotes) abgegrenzt werden. Dies hat den Vorteil, dass PHP Code im String nicht ausgeführt wird und so z.B. HTML Ausgaben einfacher sind. Doppelte Apostrophe (double quotes) dürfen nur verwendet werden, wenn die Ausführung des enthaltenen Codes benötigt wird. Stringverbindungen oder Variablen im String werden immer mit dem Punkt als Verbinder geschrieben.
- Geschweifte Klammern um Code-Blöcke werden wie folgt eingesetzt: Die erste geschweifte Klammer steht stets in der gleichen Zeile wie die Bedingung, die zweite geschweifte Klammer in einer einzelnen Zeile.
Als Ausnahme gilt, wenn der gesamte Block mit Bedingung in einer Zeile steht.
Kommentare
- Die Sprache für Dokumentation/Kommentare ist Deutsch oder Englisch.
- Der Standard für Kommentare richtet sich nach dem von phpDocumentor.
Variablen
- Variablen außerhalb von Funktionen verwenden den Prefix tb - z.B.: $tbReferer.
- Worte innerhalb von Variablen beginnen stets mit einem Großbuchstabe, der Rest wird stets kleingeschrieben.
- Variablennamen dürfen nur aus alphanumerischen Zeichen bestehen, Trennzeichen wie - oder _ sind nicht zu verwenden.
- Variablennamen sind so kurz und so verständlich wie möglich zu halten.
- Variablen wie $i und $n dürfen nur Zählern / Loops verwendet werden.
Datenbanken
- Die Verwendung von SQL-Befehlen läuft stets über AdoDB.
- Soweit möglich, sollten die Funktionen von AdoDB ausgenutzt werden, also z.B. getOne, getRow usw.
- Jedes SQL-Statement ist auf SQL-Injection zu überprüfen. INSERT und UPDATE Statements sind nur im Zusammenhang mit den ? Platzhaltern AdoDB zu verwenden, Ausnahmen sind SQL-Anweisungen wie NOW().
- SQL-Befehle werden stets groß geschrieben.
Beispiel
/**
* Sets the color of the eyes.
* @param string $eyeColor Color of the eyes
* @return boolean
*/
public function setEyeColor($eyeColor){
if (in_array(strtolower($eyeColor), self::$_validEyeColors)) {
$this->_eyeColor = strtolower($eyeColor);
return true;
} else {
return false;
}
}