這篇文章帶給大家的內容是關於PHP編碼開發規範的介紹(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
這幾天看了一下阿里技術發布的一套Java開發規範《阿里巴巴Java開發手冊》,裡面寫了阿里內部的Java開發規範標準,寫的很好。這套Java統一規範標準將有助於提升產業編碼規範化水平,幫助產業人員提高開發品質與效率、大幅降低程式碼維護成本。
看完我去搜下了一些PHP的一些開發規範標準,其中了解到了PSR規範是PHP產業中常用的一套開發標準。感嘆自己學得那麼少,標準的規範這麼晚才發現。
其實對於新手或有幾年經驗的開發者來說,這些規範我們都要掌握的,很多時候我們做好這些規範,在協同開發中,能提高我們的開發品質和效率。
什麼是PSR?
PSR 是 PHP Standard Recommendations 的簡寫,由 PHP FIG 組織制定的 PHP 規範,是 PHP 開發的實務標準。
PHP FIG目前已投票通過了 6 個標準,並且已經獲得大部分 PHP 框架的支持與認可。
其中已經通過的有:
*註:其中PSR-0已被棄用,PSR-5還在起草中,以後再補充
這裡先介紹PSR-1 基礎編碼規格
1、概覽
PHP程式碼檔案 必須 以 953d3453428f411e41cc62e53420574f 長標籤或 e001818591141260ad444db4de1b1edb 短輸出標籤;
#一定無法 使用其它自訂標籤。
2.2. 字元編碼
PHP代碼 必須 且只可使用 不帶BOM的UTF-8 編碼。 (這點很重要)
2.3. 副作用
一份PHP 文件中 應該 要不就只定義新的聲明,如類別、函數或常數等不產生 副作用 的操作,要不就只書寫會產生 副作用 的邏輯操作,但 則不該 同時具有兩者。
「副作用」(side effects) 一詞的意思是,僅僅透過包含文件,不直接聲明類別、函數和常數等,而執行的邏輯操作。
「副作用」包含卻不限於:
#以下是一個 反例,一份包含「函數宣告」以及產生「副作用」的程式碼:
<?php // 「副作用」:修改 ini 配置 ini_set('error_reporting', E_ALL); // 「副作用」:引入文件 include "file.php"; // 「副作用」:生成输出 echo "<html>\n"; // 声明函数 function foo() { // 函数主体部分 }
下面是一個範例,一份只包含宣告不產生「副作用」的程式碼:
<?php // 声明函数 function foo() { // 函数主体部分 } // 条件声明 **不** 属于「副作用」 if (! function_exists('bar')) { function bar() { // 函数主体部分 } }
3. 命名空間與類別
命名空間以及類別的命名必須遵循[PSR-4]()。
根據規範,每個類別都獨立為一個文件,且命名空間至少有一個層次:頂級的組織名稱(vendor name)。
類別的命名 必須 遵循 StudlyCaps 大寫開頭的駝峰命名規格。
PHP 5.3 及以後版本的程式碼 必須 使用正式的命名空間。
例如:
<?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 = '1.0'; const DATE_APPROVED = '2012-06-01'; }
4.2. 属性
类的属性命名 可以 遵循:
本规范不做强制要求,但无论遵循哪种命名方式,都 应该 在一定的范围内保持一致。这个范围可以是整个团队、整个包、整个类或整个方法。
方法名称 必须 符合 camelCase() 式的小写开头驼峰命名规范。
【相关推荐:PHP视频教程】
以上是PHP編碼開發規範的介紹(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!