Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die PHP-Codierungsentwicklungsspezifikationen (mit Beispielen)

Einführung in die PHP-Codierungsentwicklungsspezifikationen (mit Beispielen)

不言
不言nach vorne
2019-04-01 10:29:102632Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die PHP-Codierungsentwicklungsspezifikationen (mit Beispielen). Ich hoffe, dass er Ihnen als Referenz dienen wird.

In den letzten Tagen habe ich eine Reihe von Java-Entwicklungsspezifikationen „Alibaba Java Development Manual“ gelesen, die von Alibaba Technology veröffentlicht wurden. Es enthält Alibabas interne Java-Entwicklungsspezifikationen und -Standards und ist sehr gut geschrieben. Dieser Satz vereinheitlichter Java-Spezifikationen wird dazu beitragen, den Standardisierungsgrad der Branchencodierung zu verbessern, dem Branchenpersonal dabei zu helfen, die Entwicklungsqualität und -effizienz zu verbessern und die Kosten für die Codewartung erheblich zu senken.

Nachdem ich dies gelesen hatte, suchte ich nach einigen PHP-Entwicklungsspezifikationen und -Standards und erfuhr, dass es sich bei der PSR-Spezifikation um eine Reihe von Entwicklungsstandards handelt, die häufig in der PHP-Branche verwendet werden. Ich bedauere, dass ich so wenig gelernt und die Standardnormen so spät entdeckt habe.

Tatsächlich müssen wir diese Spezifikationen für Anfänger oder Entwickler mit mehrjähriger Erfahrung beherrschen. Wenn wir diese Spezifikationen in der kollaborativen Entwicklung gut umsetzen, können wir in vielen Fällen die Qualität und Effizienz unserer Entwicklung verbessern .

Was ist PSR?

PSR ist die Abkürzung für PHP Standard Recommendations. Die von der PHP FIG-Organisation entwickelte PHP-Spezifikation ist ein praktischer Standard für die PHP-Entwicklung.

PHP FIG hat derzeit für die Einführung von 6 Standardsätzen gestimmt und wurde von den meisten PHP-Frameworks unterstützt und anerkannt.

Unter ihnen sind folgende:

  • PSR-1-Grundkodierungsspezifikation
  • PSR-2-Kodierungsstilspezifikation
  • PSR-3-Protokollschnittstellenspezifikation
  • PSR-4-Spezifikation für automatisches Laden
  • PSR-6 Cache-Schnittstellenspezifikation
  • PSR-7 HTTP-Nachrichtenschnittstellenspezifikation

*Hinweis: PSR-0 ist veraltet und PSR-5 befindet sich noch in der Entwurfsphase und wird dies auch tun später hinzugefügt

Hier stellen wir zunächst die grundlegenden PSR-1-Codierungsstandards vor

Übersicht

PHP-Codedateien müssen mit 15352bb3184fa1c4e83441550bec86e9 Oder e001818591141260ad444db4de1b1edb kurzes Ausgabe-Tag

darf keine anderen benutzerdefinierten Tags verwenden.

2.2. Zeichenkodierung

PHP-Code muss und kann nur UTF-8-Kodierung ohne BOM verwenden. (Das ist sehr wichtig)

2.3. Nebenwirkungen

Eine PHP-Datei sollte entweder nur neue Deklarationen wie Klassen, Funktionen oder Konstanten usw. definieren Nebenwirkungen erzeugen oder einfach logische Operationen schreiben, die Nebenwirkungen erzeugen, aber nicht beides gleichzeitig.

Der Begriff „Nebenwirkungen“ bezeichnet logische Operationen, die nur durch das Einbinden von Dateien ausgeführt werden, ohne dass Klassen, Funktionen, Konstanten usw. direkt deklariert werden. Zu den „Nebenwirkungen“ gehören unter anderem:

Ausgabe erzeugen

Direktes Erfordernis oder Einschließen

Externe Dienste verbinden

  • Ini-Konfiguration ändern
  • Fehler oder Ausnahme auslösen
  • Globale oder statische Variablen ändern
  • Dateien usw. lesen oder schreiben.
    Das Folgende ist ein Gegenbeispiel, ein Dokument mit „Funktionsdeklaration“. " und „Nebenwirkungen“ Code:
  • <?php
    // 「副作用」:修改 ini 配置
    ini_set(&#39;error_reporting&#39;, E_ALL);
    // 「副作用」:引入文件
    include "file.php";
    // 「副作用」:生成输出
    echo "<html>\n";
    // 声明函数
    function foo()
    {
       // 函数主体部分
    }
  • Das Folgende ist ein Beispiel, ein Code, der nur Deklarationen enthält und keine „Nebenwirkungen“ erzeugt:
    <?php
    // 声明函数
    function foo()
    {
       // 函数主体部分
    }
    // 条件声明 **不** 属于「副作用」
    if (! function_exists(&#39;bar&#39;)) {
       function bar()
       {
           // 函数主体部分
       }
    }
  • 3 . Namespaces und Klassen
  • Namespace- und Klassenbenennung muss [PSR-4]() folgen.
Gemäß der Spezifikation ist jede Klasse eine unabhängige Datei und der Namespace hat mindestens eine Ebene: den Organisationsnamen der obersten Ebene (Anbietername).

Die Benennung von Klassen muss der Namenskonvention für Kamelbuchstaben von StudlyCaps folgen, beginnend mit einem Großbuchstaben.


Code für PHP 5.3 und spätere Versionen muss formale Namespaces verwenden.

Zum Beispiel:

<?php
// PHP 5.3及以后版本的写法
namespace Vendor\Model;
class Foo
{
}

5.2.x 及之前的版本 应该 使用伪命名空间的写法,约定俗成使用顶级的组织名称(vendor name)如 Vendor_ 为类前缀。

<?php
// 5.2.x及之前版本的写法
class Vendor_Model_Foo
{
}

4. 类的常量、属性和方法

此处的「类」指代所有的类、接口以及可复用代码块(traits)。

4.1. 常量

类的常量中所有字母都 必须 大写,词间以下划线分隔。

参照以下代码:

<?php
namespace Vendor\Model;
class Foo
{
   const VERSION = &#39;1.0&#39;;
   const DATE_APPROVED = &#39;2012-06-01&#39;;
}

4.2. 属性

类的属性命名 可以 遵循:

  • 大写开头的驼峰式 ($StudlyCaps)
  • 小写开头的驼峰式 ($camelCase)
  • 下划线分隔式 ($under_score)

本规范不做强制要求,但无论遵循哪种命名方式,都 应该 在一定的范围内保持一致。这个范围可以是整个团队、整个包、整个类或整个方法。

4.3. 方法

方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范。

【相关推荐:PHP视频教程

Das obige ist der detaillierte Inhalt vonEinführung in die PHP-Codierungsentwicklungsspezifikationen (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen