PHP コーディング規約(PSR)その2:PSR-1 基本コーディング規約

PHP-Codierungsstandards (PSR) Teil 2: PSR-1 Grundlegende Codierungsstandards

Die Bedingungen sind so strukturiert, dass sie die grundlegenden Codierungselemente berücksichtigen, die erforderlich sind, um ein hohes Maß an Koordination im gemeinsam genutzten PHP-Code sicherzustellen.

Voraussetzung

Um Unklarheiten zu vermeiden, werden die folgenden Begriffe vorab erläutert.

  • ~しなければなりません: Muss sein, muss.
  • ~してはいけません: Streng verboten, verboten.
  • ~したほうがいいです: du solltest Empfohlen.
  • ~しないほうがいいです: ungeeignete, unangemessene Praxis.
  • ~してもいいです: Möglich, erlaubt.

Referenz: RFC 2119

1. Übersicht

  • PHP-Code ist <?php oder <?= Sie müssen Tags verwenden.

  • Die PHP-Zeichenkodierung muss UTF-8 verwenden (kein BOM).

  • Sie sollten Dateien zum Deklarieren von Symbolen (Klassen, Funktionen, Konstanten usw.) von Dateien für Nebeneffekte (Ausgabegenerieren, Ändern von INI-Einstellungen usw.) trennen.

  • Für Namespaces und Klassen PSR-4 einhalten müssen

  • Der Klassenname ist StudlyCaps Schreiben Sie den ersten Buchstaben eines Wortes groß, z oberes Kamelgehäuse muss in definiert werden

  • Klassenkonstanten müssen mit ausschließlich Großbuchstaben und Unterstrichen (Schlangenschreibweise) als Trennzeichen definiert werden.

  • Methodennamen sind camelCase Den ersten Buchstaben eines Wortes klein schreiben, z unteres Kamelgehäuse muss in definiert werden

2. Datei

2.1. PHP-Tags

PHP-Code ist <?php ?> oder <?= ?> Sie müssen Tags verwenden. Verwenden Sie keine anderen Tags.

2.2. Zeichencode

Die PHP-Zeichenkodierung muss UTF-8 verwenden (kein BOM).

2.3. Nebenwirkungen

Dateien zum Deklarieren neuer Symbole (Klassen, Funktionen, Konstanten usw.) sollten von Dateien zur Verarbeitung mit Nebenwirkungen getrennt werden. Versuchen Sie nicht, beides in einer Datei zu erledigen

Mit „Nebeneffekten“ meine ich hier Dinge, die nicht direkt mit der Deklaration von Klassen, Funktionen und Konstanten zusammenhängen, die allein durch das Einbinden der Datei ausgeführt werden.

Zu den Operationen mit Nebenwirkungen zählen: Die Liste ist jedoch nicht vollständig:

  • Ausgabe generieren
  • Direkte require oder include Gebrauch von
  • Verbindungen zu externen Diensten
  • Korrigieren Sie die INI-Einstellungen
  • Fehler und Ausnahmen auslösen
  • Ändern globaler und statischer Variablen
  • Lesen/Schreiben aus Dateien usw.

Das folgende Beispiel enthält sowohl Deklarationen als auch Nebenwirkungen. Es ist besser, nicht so zu schreiben

 
<?php // 「副作用」:iniの設定を変更していますini_set ( 'error_reporting' , E_ALL ); // 「副作用」:ファイルを読み込んでいますinclude "file.php" ; // 「副作用」:出力を生成していますecho "<html> \n " ; // 宣言function foo () {
// Funktionskörper }

Das folgende Beispiel enthält nur Deklarationen und keine Nebenwirkungen. Es ist besser, so zu schreiben.

 
<?php
// 宣言function foo () { // 関数本体} // 条件付きの宣言は副作用ではありませんif ( ! function_exists ( 'bar' )) { function bar () { // 関数本体} }

3. Namespaces und Klassen

PSR-4 einhalten müssen

PSR-4 Demnach sollte es sich um eine Datei der Klasse 1 handeln. Außerdem muss mindestens der Namespace der obersten Ebene (Anbietername) definiert werden.

Der Klassenname ist StudlyCaps Schreiben Sie den ersten Buchstaben eines Wortes groß, z oberes Kamelgehäuse muss in definiert werden

Ab PHP 5.3 müssen Sie den richtigen Namespace verwenden.

Zum Beispiel:

 
<?php
// PHP 5.3 以降
Namespace Vendor\Model ; Klasse Foo { }

Vor PHP 5.2 ist es besser, das Präfix „Vendor_“ für Klassennamen zu verwenden, um sie in einen Pseudo-Namespace zu verwandeln.

 
<?php
// PHP 5.2以前class Vendor_Model_Foo { }

4. Über Klassenkonstanten, Eigenschaften und Methoden

Die Klasse umfasst hier alle allgemeinen Klassen, Schnittstellen und Merkmale.

4.1. Konstanten

Klassenkonstanten müssen ausschließlich in Großbuchstaben und mit Unterstrichen (Schlangenschreibweise) als Trennzeichen definiert werden.

Zum Beispiel:

 
<?php
namespace Vendor\Model ; class Foo
{ const VERSION = '1.0' ; const DATE_APROVED = '2012-06-01' ; }

4.2. Eigenschaften

Sie können die Namenskonvention für Eigenschaften im folgenden Format definieren

Unabhängig davon, welche Namenskonvention Sie verwenden, ist es eine gute Idee, innerhalb des entsprechenden Bereichs konsistent zu sein. Der Geltungsbereich bezieht sich hier auf Anbieterebene, Paketebene, Klassenebene oder Methodenebene.

4.3. Methoden

Methodennamen sind camelCase Den ersten Buchstaben eines Wortes klein schreiben, z unteres Kamelgehäuse muss in definiert werden

*Dieser Artikel basiert auf den „ Standardregeln für den japanischen Dokumenterstellungsstil

*Dieser Artikel wurde von unserem Mitarbeiter Wu Jie verfasst Lindelin.org Dieser Artikel wurde nachgedruckt und als Beitragsartikel für veröffentlicht.