Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
dev:all:psr:psr-2 [25.05.2015 16:38] – dev:all:psr-2de umbenann in dev:all:psr:psr-2 (sorting) Manuela v.d.Decken | dev:all:psr:psr-2 [31.08.2023 01:32] – [Eigenschaften] Manuela v.d.Decken | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
[size=10]im englischen Original von [[http:// | [size=10]im englischen Original von [[http:// | ||
====== Coding Style Guide ====== | ====== Coding Style Guide ====== | ||
- | Diese Anleitung verlängert und erweitert den Basis-Standard [[dev: | + | Diese Anleitung verlängert und erweitert den Basis-Standard [[dev:all:psr:psr-1|PSR-1]]. |
Das Ziel dieser Anleitung ist es, dafür zu sorgen dass Code unterschiedlicher Autoren ohne Probleme gelesen und verglichen werden kann. | Das Ziel dieser Anleitung ist es, dafür zu sorgen dass Code unterschiedlicher Autoren ohne Probleme gelesen und verglichen werden kann. | ||
Zeile 7: | Zeile 7: | ||
===== Übersicht ===== | ===== Übersicht ===== | ||
- | * Der Code MUSS [[dev: | + | * Der Code MUSS [[dev:all:psr:psr-1|PSR-1]] folgen. |
* Der Code MUSS 4 Leerzeichen für Einzüge benutzen aber keine Tabulatoren. | * Der Code MUSS 4 Leerzeichen für Einzüge benutzen aber keine Tabulatoren. | ||
* Es DARF NICHT ein festes Limit für Zeilenlängen geben. Das Soft-Limit MUSS bei 120 Zeichen liegen und Zeilen SOLLTEN max 80 Zeichen oder weniger haben. | * Es DARF NICHT ein festes Limit für Zeilenlängen geben. Das Soft-Limit MUSS bei 120 Zeichen liegen und Zeilen SOLLTEN max 80 Zeichen oder weniger haben. | ||
Zeile 20: | Zeile 20: | ||
==== Beispiel ==== | ==== Beispiel ==== | ||
Für einen schnelleren Überblick umfasst dieses Beispiel einige der obigen Regeln. | Für einen schnelleren Überblick umfasst dieses Beispiel einige der obigen Regeln. | ||
- | <PHP> | + | <code php> |
<?php | <?php | ||
namespace Vendor\Package; | namespace Vendor\Package; | ||
Zeile 46: | Zeile 46: | ||
} | } | ||
} | } | ||
- | </PHP> | + | </code> |
===== Allgemein ===== | ===== Allgemein ===== | ||
==== Basic Coding Standard ==== | ==== Basic Coding Standard ==== | ||
- | Der Code MUSS allen in [[dev: | + | Der Code MUSS allen in [[dev:all:psr:psr-1|PSR-1]] aufgezeigten Regeln folgen. |
==== Dateien ==== | ==== Dateien ==== | ||
Zeile 79: | Zeile 79: | ||
* Es MUSS eine Leerzeile nach dem **use** Deklarationsblock eingefügt werden. | * Es MUSS eine Leerzeile nach dem **use** Deklarationsblock eingefügt werden. | ||
Beispiel | Beispiel | ||
- | <PHP> | + | <code php> |
<?php | <?php | ||
namespace Vendor\Package; | namespace Vendor\Package; | ||
Zeile 88: | Zeile 88: | ||
// ... additional PHP code ... | // ... additional PHP code ... | ||
- | </PHP> | + | </code> |
===== Klassen, Eigenschaften und Methoden ===== | ===== Klassen, Eigenschaften und Methoden ===== | ||
Zeile 97: | Zeile 97: | ||
Die öffnende, geschweifte Klammer für die Klasse MUSS alleine in der nächsten freien Zeile stehen. Die zugehörende schließende Klammer exakt darunter in der ersten freien Zeile nach dem Klassenkörper. | Die öffnende, geschweifte Klammer für die Klasse MUSS alleine in der nächsten freien Zeile stehen. Die zugehörende schließende Klammer exakt darunter in der ersten freien Zeile nach dem Klassenkörper. | ||
- | <PHP> | + | <code php> |
<?php | <?php | ||
namespace Vendor\Package; | namespace Vendor\Package; | ||
Zeile 109: | Zeile 109: | ||
// constants, properties, methods | // constants, properties, methods | ||
} | } | ||
- | </PHP> | + | </code> |
Eine Liste von **implements** KANN über mehrere Zeilen gesplittet werden, wobei jede Unterzeile jeweils einen Schritt eingerückt wird.\\ | Eine Liste von **implements** KANN über mehrere Zeilen gesplittet werden, wobei jede Unterzeile jeweils einen Schritt eingerückt wird.\\ | ||
Wird das gemacht, dann MUSS der erste Eintrag in der nächsten Zeile sein und es DARF NICHT mehr als ein Interface pro Zeile angegeben werden. | Wird das gemacht, dann MUSS der erste Eintrag in der nächsten Zeile sein und es DARF NICHT mehr als ein Interface pro Zeile angegeben werden. | ||
- | <PHP> | + | <code php> |
<?php | <?php | ||
namespace Vendor\Package; | namespace Vendor\Package; | ||
Zeile 127: | Zeile 127: | ||
// constants, properties, methods | // constants, properties, methods | ||
} | } | ||
- | </PHP> | + | </code> |
==== Eigenschaften ==== | ==== Eigenschaften ==== | ||
Zeile 135: | Zeile 135: | ||
* Eigenschaftennamen DÜRFEN NICHT zur Kennzeichnung von private oder protected einen _ als Vorzeichen erhalten. | * Eigenschaftennamen DÜRFEN NICHT zur Kennzeichnung von private oder protected einen _ als Vorzeichen erhalten. | ||
Beispiel einer Eigenschaftendeklaration: | Beispiel einer Eigenschaftendeklaration: | ||
- | <PHP> | + | <code php> |
<?php | <?php | ||
namespace Vendor\Package; | namespace Vendor\Package; | ||
Zeile 143: | Zeile 143: | ||
public $foo = null; | public $foo = null; | ||
} | } | ||
- | </PHP> | + | </code> |