PHP-FIG PSR-1 # 基本編碼通訊協定

來源:互聯網
上載者:User
本標準包含了 對 用於保障 PHP共用代碼的互通性 的標準編碼元素。

The key words “MUST 必須”, “MUST NOT 必須不”, “REQUIRED 需要”, “SHALL 將要”, “SHALL NOT 將不”, “SHOULD 應該”, “SHOULD NOT不應該”, “RECOMMENDED 推薦的”, “MAY 可以”, and “OPTIONAL 可選的” in this document are to be interpreted as described in RFC 2119.

概覽
  1. 檔案 必須 使用 < ? php 和 < ? = 標籤。
  2. 檔案中的PHP代碼 必須 使用無BOM頭 UTF-8編碼。
  3. 檔案即可以聲明“符號”(諸如 類、函數、常量等),也可做一些邊際效應的事情 (諸如產生輸出, 改變ini設定等.)。 但這兩類事情不應出現在同一個檔案裡。
  4. 命名空間 和 類 必須遵循“autoloading” PSR: [PSR-0, PSR-4]。
  5. 類名必須使用 StudlyCaps (首字母大寫的駝峰)聲明。
  6. 類常量必須使用底線分割的大寫字母。
  7. 方法名必須使用駝峰聲明。
檔案

PHP 標籤

PHP 代碼必須使用長標籤 < ? php ?> 或 echo短標籤 < ? = ? > ; 必須不能使用其他形態的標籤.

字元編碼

PHP代碼必須使用無BOM頭UTF-8編碼

邊際效應

一個檔案 (應該)要麼聲明符號(類、函數和常量等),不能引起任何邊際效應;要麼執行產生邊際效應的代碼。這兩種情況不能出現在一個檔案中。
“邊際效應” 執行與聲明類、函數、常量無關的邏輯。

“邊際效應” 包括但不限於: 產生輸出, 顯式的require或include, 串連外部服務, 修改ini配置, 發出 errors 或 exceptions, 修改全域或靜態變數, 讀寫檔案 等等.

以下是一個即聲明符號,又產生邊際效應的例子; 這是應該要避免的情況:

\n";// 聲明function foo() {    // function body}

以下例子只包含聲明,無邊際效應;值得效仿:

 命名空間名和類名   

命名空間名和類名必須遵循 “autoloading” PSR: [PSR-0, PSR-4].

這意味著每個檔案只能包含一個類, 並且至少有一層命名空間: 頂級的 vendor 名.

類名必須使用 StudlyCaps (首字母大寫駝峰) 聲明.

針對 PHP 5.3 及以後版本的代碼,必須使用正式的命名空間(5.3之前PHP不支援namespace).

例如:

 類常量、屬性和方法   

這裡的“類”包括 classes, interfaces 和 traits.

4.1. 常量

類常量必須使用底線分割的大寫聲明。

    

屬性

本指南特意避免偏向 StudlyCaps, camelCase 和 $under_score 中任意一種屬性命名風格.

無論在用哪種命名風格,在合理的範圍內均應改保持一致。 範圍可以使 vendor-level, package-level, class-level, 或 method-level。

方法

方法名必須使用駝峰 camelCase().

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.