Benutzer-Werkzeuge

Webseiten-Werkzeuge


dev:all:psr:psr-1

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dev:all:psr-1de [12.08.2014 18:31] – [Eigenschaften] Manuela v.d.Deckendev: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 **''<?php''**  (:!: //Anpassung für WB:// <del> und **''<?=''**</del>Tags verwenden.+  * Dateien MÜSSEN ausschließlich **''<?php''** und **''<?=''** Tags verwenden.
   * 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 (//**side-effects**//) enthalten. Aber sie SOLLTEN NICHT beides gleichzeitig tun.    * Dateien SOLLTEN entweder Symbole (Klassen, Funktionen, Konstanten etc.) deklarieren **ODER** direkt ausführbaren Code (//**side-effects**//) enthalten. Aber sie SOLLTEN NICHT beides gleichzeitig tun. 
-  * Namensräume und Klassen MÜSSEN [[dev:all:psr-0de|PSR-0]] folgen.+  * Namespaces und Klassen MÜSSEN [[dev:all:psr:psr-0|PSR-0]] folgen.
   * Klassennamen MÜSSEN in //**StudlyCaps**// deklariert werden.   * Klassennamen MÜSSEN in //**StudlyCaps**// deklariert werden.
   * 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 **''<?php  ?>''** Tag  (:!: //Anpassung für WB:// <del> oder den kurzen Echo **''<?= ?>''** Tag</del>) benutzen. Es DÜRFEN NICHT andere Tag-Variationen benutzt werden. 
  
 ==== Zeichensatz-Codierung ==== ==== Zeichensatz-Codierung ====
Zeile 28: Zeile 26:
  
 Das Nachfolgende ist ein Beispiel einer Datei, die sowohl Deklarationen als auch 'side effects' enthält. Ein Beispiel, das zeigt, was man NICHT machen SOLLTE: Das Nachfolgende ist ein Beispiel einer Datei, die sowohl Deklarationen als auch 'side effects' enthält. Ein Beispiel, das zeigt, was man NICHT machen SOLLTE:
-<PHP>+<code php>
 // side effect: ändert Ini-Settings // side effect: ändert Ini-Settings
 ini_set('errot_reporting', E_ALL); ini_set('errot_reporting', E_ALL);
Zeile 43: Zeile 41:
     // Funktionskörper     // Funktionskörper
 } }
-</PHP>+</code>
 Das zweite Beispiel ist eine Datei, die nur Deklarationen ohne alle 'side effects' enthält. Ein Beispiel, das immer zu bevorzugen ist. Das zweite Beispiel ist eine Datei, die nur Deklarationen ohne alle 'side effects' enthält. Ein Beispiel, das immer zu bevorzugen ist.
-<PHP>+<code php>
 // Deklaration // Deklaration
 function foo() function foo()
Zeile 59: Zeile 57:
     }     }
 } }
-</PHP>+</code>
  
-===== Namensräume und Klassennamen =====+===== Namespaces und Klassennamen =====
  
-Die Benennung von Namensräumen und Klassen MUSS nach [[dev:all:psr-0de|PSR-0]] erfolgen.+Die Benennung von Namespaces und Klassen MUSS nach [[dev:all:psr:psr-0|PSR-0]] erfolgen.
  
-Das bedeutet, dass jede Klasse in einer eigenen Datei ist und einem Namensraum zugewiesen, der wenigstens den Vendor Name als Top-Level hat.+Das bedeutet, dass jede Klasse in einer eigenen Datei ist und einem Namespace zugewiesen, der wenigstens den Vendor Name als Top-Level hat.
  
 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 Namensräume nutzen.+Code der für PHP-5.3 und höher geschrieben wird MUSS formale Namespace nutzen.
  
 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 +
-// PHP 5.2.x und früher: +
-class Vendor_Model_Foo +
-+
-+
-</PHP> +
-<PHP> +
-<?php +
-// PHP 5.2.x und früher: +
-class Vendor_Model_FooAbstract +
-+
-+
-</PHP>+
  
 ===== 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 = '2014-08-12';     const DATE_APPROVED = '2014-08-12';
 } }
-</PHP>+</code>
  
 ==== Eigenschaften ==== ==== Eigenschaften ====
 Dieser Leitfaden vermeidet absichtlich jede Empfehlung in Bezug auf die Verwendung von $**StudlyCaps**, $**camelCase** oder $**under_score** Eigenschaftennamen.\\ 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 durchgehend überall das **StudlyCaps** Format, wobei jedem Bezeichner ein Kleinbuchstabe vorangesetzt 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: 
->>'**s**' => String, '**i**' => Integer/Ganzzahl, '**f**' => Fließkommazahl, '**b**' => boolean, '**a**' => Array, '**o**' => Objekt+>>'**s**' => String, '**i**' => Integer/Ganzzahl, '**f**' => Fließkommazahl, '**b**' => boolean, '**a**' => Array, '**o**' => Objekt, '**c**' => Callback, '**m**' => mixed, '**r**' => Resource
  
-<PHP>+<code php>
 $sItemName = 'Something'; $sItemName = 'Something';
 $iUserId   = 2; $iUserId   = 2;
 $fPrice    = 45.25; $fPrice    = 45.25;
-</PHP>+</code>
  
 ==== Methoden ==== ==== Methoden ====
 Methodennamen MÜSSEN in **camelCase()** deklariert werden. Methodennamen MÜSSEN in **camelCase()** deklariert werden.
 +
 +
 + --- //[[manuela@isteam.de|Manuela v.d.Decken]] 12.08.2014 20:35//
  
  
  
dev/all/psr/psr-1.1407868264.txt.gz · Zuletzt geändert: 03.06.2015 15:54 (Externe Bearbeitung)