Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
dev:all:psr-1de [12.08.2014 18:30] – [Methoden] Manuela v.d.Decken | dev:all:psr:psr-1 [31.08.2023 01:50] (aktuell) – Manuela v.d.Decken | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
===== Übersicht ===== | ===== Übersicht ===== | ||
- | * Dateien MÜSSEN ausschließlich **''<? | + | * Dateien MÜSSEN ausschließlich **''<? |
* Dateien MÜSSEN ausschließlich UTF-8 ohne BOM codiert werden. | * Dateien MÜSSEN ausschließlich UTF-8 ohne BOM codiert werden. | ||
* Dateien SOLLTEN entweder Symbole (Klassen, Funktionen, Konstanten etc.) deklarieren **ODER** direkt ausführbaren Code (// | * Dateien SOLLTEN entweder Symbole (Klassen, Funktionen, Konstanten etc.) deklarieren **ODER** direkt ausführbaren Code (// | ||
- | * Namensräume | + | * Namespaces |
* Klassennamen MÜSSEN in // | * Klassennamen MÜSSEN in // | ||
* Klassenkonstanten MÜSSEN in Großbuchstaben mit _ zwischen einzelnen Worten deklariert werden. | * Klassenkonstanten MÜSSEN in Großbuchstaben mit _ zwischen einzelnen Worten deklariert werden. | ||
Zeile 14: | Zeile 14: | ||
===== Dateien ===== | ===== Dateien ===== | ||
- | ==== PHP Tags ==== | ||
- | PHP-Code MUSS ausschließlich den langen **''<? | ||
==== Zeichensatz-Codierung ==== | ==== Zeichensatz-Codierung ==== | ||
Zeile 28: | Zeile 26: | ||
Das Nachfolgende ist ein Beispiel einer Datei, die sowohl Deklarationen als auch 'side effects' | Das Nachfolgende ist ein Beispiel einer Datei, die sowohl Deklarationen als auch 'side effects' | ||
- | <PHP> | + | <code php> |
// side effect: ändert Ini-Settings | // side effect: ändert Ini-Settings | ||
ini_set(' | ini_set(' | ||
Zeile 43: | Zeile 41: | ||
// Funktionskörper | // Funktionskörper | ||
} | } | ||
- | </PHP> | + | </code> |
Das zweite Beispiel ist eine Datei, die nur Deklarationen ohne alle 'side effects' | Das zweite Beispiel ist eine Datei, die nur Deklarationen ohne alle 'side effects' | ||
- | <PHP> | + | <code php> |
// Deklaration | // Deklaration | ||
function foo() | function foo() | ||
Zeile 59: | Zeile 57: | ||
} | } | ||
} | } | ||
- | </PHP> | + | </code> |
- | ===== Namensräume | + | ===== Namespaces |
- | Die Benennung von Namensräumen | + | Die Benennung von Namespaces |
- | Das bedeutet, dass jede Klasse in einer eigenen Datei ist und einem Namensraum | + | Das bedeutet, dass jede Klasse in einer eigenen Datei ist und einem Namespace |
Klassennamen MÜSSEN in **StudlyCaps** deklariert werden. | Klassennamen MÜSSEN in **StudlyCaps** deklariert werden. | ||
Zeile 72: | Zeile 70: | ||
- | Code der für PHP-5.3 und höher geschrieben wird MUSS formale | + | Code der für PHP-5.3 und höher geschrieben wird MUSS formale |
Beispiel: | Beispiel: | ||
- | <PHP> | + | <code php> |
<?php | <?php | ||
// php 5.3 und später: | // php 5.3 und später: | ||
Zeile 83: | Zeile 81: | ||
{ | { | ||
} | } | ||
- | </PHP> | + | </code> |
- | <PHP> | + | <code php> |
<?php | <?php | ||
// php 5.3 und später: | // php 5.3 und später: | ||
Zeile 92: | Zeile 90: | ||
{ | { | ||
} | } | ||
- | </PHP> | + | </code> |
- | Code der für PHP-Versionen vor 5.3 geschrieben wird SOLL die Konvention der Pseudo-Namensräume mit **Vendor_** Präfixes für Klassennamen benutzen. | + | |
- | < | + | |
- | <?php | + | |
- | // PHP 5.2.x und früher: | + | |
- | class Vendor_Model_Foo | + | |
- | { | + | |
- | } | + | |
- | </ | + | |
- | < | + | |
- | <?php | + | |
- | // PHP 5.2.x und früher: | + | |
- | class Vendor_Model_FooAbstract | + | |
- | { | + | |
- | } | + | |
- | </ | + | |
===== Klassen- Konstanten, Eigenschaften und Methoden ===== | ===== Klassen- Konstanten, Eigenschaften und Methoden ===== | ||
Zeile 114: | Zeile 98: | ||
==== Konstanten ==== | ==== Konstanten ==== | ||
Klassenkonstanten MÜSSEN vollständig in Großbuchstaben deklariert werden. Der Unterstrich trennt einzelne Worte. | Klassenkonstanten MÜSSEN vollständig in Großbuchstaben deklariert werden. Der Unterstrich trennt einzelne Worte. | ||
- | <PHP> | + | <code php> |
<?php | <?php | ||
namespace Vendor\Model; | namespace Vendor\Model; | ||
Zeile 123: | Zeile 107: | ||
const DATE_APPROVED = ' | const DATE_APPROVED = ' | ||
} | } | ||
- | </PHP> | + | </code> |
==== Eigenschaften ==== | ==== Eigenschaften ==== | ||
- | Dieser Leitfaden vermeidet absichtlich jede Empfehlung in Bezug auf die Verwendung von $StudlyCaps, | + | Dieser Leitfaden vermeidet absichtlich jede Empfehlung in Bezug auf die Verwendung von $**StudlyCaps**, $**camelCase** oder $**under_score** Eigenschaftennamen.\\ |
- | Welche Namenskonvention auch benutzt wird, SOLLTE konsistent in einem vertretbaren Rahmen angewendet werden. | + | Welche Namenskonvention auch benutzt wird, sie SOLLTE konsistent in einem vertretbaren Rahmen angewendet werden. |
- | :!: //Anpassung an WB:// WebsiteBaker benutzt | + | :!: //Anpassung an WB:// Es MUSS durchgehend überall das **StudlyCaps** Format |
- | >>' | + | >>' |
- | <PHP> | + | <code php> |
$sItemName = ' | $sItemName = ' | ||
$iUserId | $iUserId | ||
$fPrice | $fPrice | ||
- | </PHP> | + | </code> |
==== Methoden ==== | ==== Methoden ==== | ||
Methodennamen MÜSSEN in **camelCase()** deklariert werden. | Methodennamen MÜSSEN in **camelCase()** deklariert werden. | ||
+ | |||
+ | |||
+ | --- // | ||