Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
dev:all:psr:psr-1 [25.05.2015 18:43] – [Namespaces und Klassennamen] Manuela v.d.Decken | dev:all:psr:psr-1 [31.12.2024 03:34] (aktuell) – [Übersicht] 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 (// | ||
- | * Namespaces und Klassen MÜSSEN [[dev:all:psr:psr-0|PSR-0]] folgen. | + | * Namespaces und Klassen MÜSSEN [[http:// |
* 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> |
===== Namespaces und Klassennamen ===== | ===== Namespaces und Klassennamen ===== | ||
Zeile 75: | Zeile 73: | ||
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-Namespaces 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 ==== | ||
Zeile 130: | Zeile 114: | ||
:!: //Anpassung an WB:// Es MUSS durchgehend überall das **StudlyCaps** Format benutzt werden, wobei jedem Bezeichner ein Kleinbuchstabe vorangestellt wird, der den Datentyp der Eigenschaft beschreibt. Derzeit definiert sind folgende Zuweisungen: | :!: //Anpassung an WB:// Es MUSS durchgehend überall das **StudlyCaps** Format benutzt werden, wobei jedem Bezeichner ein Kleinbuchstabe vorangestellt wird, der den Datentyp der Eigenschaft beschreibt. Derzeit definiert sind folgende Zuweisungen: | ||
- | >>' | + | >>' |
- | <PHP> | + | <code php> |
$sItemName = ' | $sItemName = ' | ||
$iUserId | $iUserId | ||
$fPrice | $fPrice | ||
- | </PHP> | + | </code> |
==== Methoden ==== | ==== Methoden ==== | ||
Zeile 143: | Zeile 127: | ||
--- // | --- // | ||
+ | |||
+ | |||
+ |