Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
dev:all:wb-adaption [23.11.2014 11:34] – [Dateinamen] Manuela v.d.Decken | dev:all:wb-adaption [04.11.2017 12:28] – [Emulierte Namespaces] Manuela v.d.Decken | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Anpassung | + | ====== |
Da WebsiteBaker schon vor Erscheinen der PHP-FIG Standards existierte sind ein paar wenige Anpassungen der Standards erforderlich, | Da WebsiteBaker schon vor Erscheinen der PHP-FIG Standards existierte sind ein paar wenige Anpassungen der Standards erforderlich, | ||
< | < | ||
Zeile 33: | Zeile 33: | ||
</ | </ | ||
==== Klassen ==== | ==== Klassen ==== | ||
- | Klassennamen müssen in **StudlyCaps** deklariert werden und müssen folgender RegEx-Regel entsprechen: | + | Klassennamen müssen in **StudlyCaps** |
- | ^Bezeichner ^ Stautus | + | ^Bezeichner ^ Status |
|smtp_mailer | [color=red]falsch[/ | |smtp_mailer | [color=red]falsch[/ | ||
|Smtp_Mailer | [color=red]falsch[/ | |Smtp_Mailer | [color=red]falsch[/ | ||
Zeile 41: | Zeile 41: | ||
==== Abstrakte Klassen und Interfaces ==== | ==== Abstrakte Klassen und Interfaces ==== | ||
- | Generell folgen abstrakte Klassen und Interfaces der gleichen Konvention wie Klassen, mit einer zusätzlichen Regel: Die Namen von abstrakten Klassen und Interfaces | + | Generell folgen abstrakte Klassen und Interfaces der gleichen Konvention wie Klassen, mit einer zusätzlichen Regel: Die Namen von abstrakten Klassen und Interfaces |
==== Emulierte Namespaces ==== | ==== Emulierte Namespaces ==== | ||
+ | <div important> | ||
In diesem Modus ist in Klassennamen zusätzlich der Unterstrich ' | In diesem Modus ist in Klassennamen zusätzlich der Unterstrich ' | ||
Die Klassenbibliotheken von WebsiteBaker sind in mehrere Gruppen aufgeteilt: | Die Klassenbibliotheken von WebsiteBaker sind in mehrere Gruppen aufgeteilt: | ||
- | **Klassen des Kerns**: | + | **Klassen des Kerns**: |
- | **Klassen der Module**: Klassen der Module im jeweiligen Modulverzeichnis **''/ | + | **Klassen der Module**: Klassen der Module im jeweiligen Modulverzeichnis **'' |
- | **Klassen des ACP**: (AdminControlPanel => ehem. Backend) sind im Verzeichnis **''/ | + | **Klassen des ACP**: (AdminControlPanel => ehem. Backend) sind im Verzeichnis **'' |
- | **Klassen der third-party libraries**: | + | **Klassen der third-party libraries**: |
==== Dateinamen ==== | ==== Dateinamen ==== | ||
- | Soweit die vorgenannten Regeln für Klassennamen eingehalten wurden, ergeben sich die Dateinamen eindeutig aus den Klassennamen. Die Klasse **m_MyModul_PluginAbstract** findet sich demnach in der Datei **''/ | + | Soweit die vorgenannten Regeln für Klassennamen eingehalten wurden, ergeben sich die Dateinamen eindeutig aus den Klassennamen. Die Klasse **m_MyModul_PluginAbstract** findet sich demnach in der Datei **'' |
Für alle anderen Dateien sind nur alphanummerische Zeichen und der Bindestrich (**-**) gestattet. Leerzeichen sind völlig verboten.\\ | Für alle anderen Dateien sind nur alphanummerische Zeichen und der Bindestrich (**-**) gestattet. Leerzeichen sind völlig verboten.\\ | ||
- | Jede Datei, die irgendeinen | + | Jede Datei, die ausführbaren |
==== Verzeichnise ==== | ==== Verzeichnise ==== | ||
- | Zur Benennung von Verzeichnissen gelten die selben Grundlagen. Es sind nur alphanummerische Zeichen sowie wenige Sonderzeichen des Standard 7-Bit-ASCII Bereiches <128 (**!# | + | Zur Benennung von Verzeichnissen gelten die selben Grundlagen |
==== Funktionen und Methoden ==== | ==== Funktionen und Methoden ==== | ||
Zeile 63: | Zeile 64: | ||
Wortreichtum wird generell befürwortet. Funktionsnamen sollten so wortreich wie möglich sein um deren Zweck und Verhalten möglichst genau zu erklären. | Wortreichtum wird generell befürwortet. Funktionsnamen sollten so wortreich wie möglich sein um deren Zweck und Verhalten möglichst genau zu erklären. | ||
- | Funktionen oder Methoden sollen möglichst immer mit einem klein geschriebenen Verb wie //get//, //set//, //add//, //delete//, //load//, //save//, //execute// etc. beginnen, das dann von einem Substantiv in StudlyCaps gefolgt werden kann, welches das zu bearbeitende Objekt beschreibt. Beispiel: <php> $oMyObject-> | + | Funktionen oder Methoden sollen möglichst immer in // |
:!: **Achtung: | :!: **Achtung: | ||
+ | ===== Adressierung von Dateien und Verzeichnissen ===== | ||