摘要:源代碼文件必須只用不帶的編碼。類常量必須全部使用大寫字母和下劃線進(jìn)行聲明。方法名必須聲明為樣式。類名必須聲明為的形式。面向或更高版本的代碼必須使用正式的命名空間。不論使用了哪一種風(fēng)格,它應(yīng)該在一個合理的范圍內(nèi)具有一致性。
翻譯:薛粲
授權(quán)許可:CC BY-NC 4.0
這份文檔是《PSR-1: Basic Coding Standard》的非官方譯文。
這份標(biāo)準(zhǔn)文檔闡述了那些需要考慮的標(biāo)準(zhǔn)的編寫代碼的原則,用于確保在共享 PHP 代碼時技術(shù)上具備較高層次的互操作性。
英文原文使用的關(guān)鍵詞 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 以及 "OPTIONAL" 遵循 RFC 2119 的描述。譯文中根據(jù)上下文可能會使用不同的詞匯來對應(yīng)這些關(guān)鍵詞,并加粗顯示。
1. 概述文件必須只用 或 = 標(biāo)記。
PHP 源代碼文件必須只用不帶 BOM 的 UTF-8 編碼。
一個文件應(yīng)該或者用于聲明各種符號(類、函數(shù)、常量等),或者發(fā)生作用(例如產(chǎn)生輸出、修改 .ini 設(shè)置等)但不應(yīng)該同時做上述兩件事情。
命名空間和類必須遵循一條關(guān)于自動加載的 PSR,即 PSR-0 或 PSR-4。
類名必須聲明為 StudlyCaps 樣式。
類常量必須全部使用大寫字母和下劃線進(jìn)行聲明。
方法名必須聲明為 camelCase 樣式。.
2. 文件 2.1 PHP 標(biāo)記PHP 代碼必須使用長的 標(biāo)記或者短的用于輸出的 = ?> 標(biāo)記;不得使用其它種類的標(biāo)記。
2.2 字符編碼PHP 源代碼必須使用不帶 BOM 的 UTF-8 編碼。
2.3 副作用一個文件應(yīng)該是:或者用于聲明新的符號(類、函數(shù)、常量等)的,同時并不導(dǎo)致其它副作用;或者用于執(zhí)行一些會產(chǎn)生副作用的邏輯。但是,一個文件不應(yīng)該既聲明新的符號,又執(zhí)行產(chǎn)生副作用的邏輯。
短語“副作用”在這里指的是執(zhí)行那些不直接與聲明類、函數(shù)、常量等相關(guān)的邏輯,merely from including the file.
“副作用”包括但不限于:產(chǎn)生輸出、明確的使用 require 或 include,連接外部服務(wù)、修改 ini 設(shè)置、拋出錯誤或異常、修改全局或靜態(tài)變量以及讀寫文件等。
下面的示例既包含了聲明又執(zhí)行了產(chǎn)生副作用的邏輯,換句話說,這里例子是應(yīng)該避免的:
"; // 聲明 function foo() { // function body }
下面的示例只包含聲明而沒有產(chǎn)生副作用,也就是說是可以借鑒的例子:
3. 命名空間和類名命名空間和類必須遵循一份自動加載 PSR 規(guī)范:PSR-0 或 PSR-4。
這意味著每個類在一個只屬于它自己的文件中,并且至少在一層命名空間——即最頂層的提供商名——之中。
類名必須聲明為 StudlyCaps 的形式。
面向 PHP 5.3 或更高版本的代碼必須使用正式的命名空間。
例如:
面向 PHP 5.2 或更早版本的代碼應(yīng)該使用以 Vendor_ 開始的偽命名空間的慣例:
4. 類常量、屬性和方法術(shù)語“類”在這里涵蓋了類、接口和 trait。
4.1 常量類常量必須被定義為全部由大寫字母、數(shù)字和下劃線組成,例如:
4.2 屬性這份指南故意規(guī)避了對屬性名風(fēng)格的建議,不論采用 $StudlyCaps、 $camelCase 或者 $under_score 均可。
不論使用了哪一種風(fēng)格,它應(yīng)該在一個合理的范圍內(nèi)具有一致性。這樣的范圍可以是開發(fā)商級別、包級別、類級別或者是方法級別的。
4.3 方法名方法必須采用 camelCase() 風(fēng)格的命名。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/21442.html
摘要:注本文算是筆者對規(guī)范翻譯學(xué)習(xí)筆記,之后會陸續(xù)翻譯剩余的規(guī)范,可能翻譯的有錯誤的地方,希望讀者能夠指正,非常感謝什么是是標(biāo)準(zhǔn)建議的簡寫,是由組織框架交互操作組織提出。的工作是尋找項(xiàng)目之間的共性,以及讓開發(fā)者能更好協(xié)同工作的方式。 注:本文算是筆者對PSR規(guī)范翻譯/學(xué)習(xí)筆記,之后會陸續(xù)翻譯剩余的規(guī)范,可能翻譯的有錯誤的地方,希望讀者能夠指正,非常感謝. 什么是PSR? ? ??? PSR是...
摘要:目前已表決通過了套標(biāo)準(zhǔn),已經(jīng)得到大部分框架的支持和認(rèn)可。類中的常量所有字母都必須大寫,單詞間用下劃線分隔方法名稱必須符合式的小寫開頭駝峰命名規(guī)范。日志接口規(guī)范詳見自動加載規(guī)范詳見緩存接口規(guī)范詳見消息接口規(guī)范詳見,暫無中文翻譯 PHP-FIG 在說啥是PSR-[0-4]規(guī)范的之前,我覺得我們有必要說下它的發(fā)明者和規(guī)范者:PHP-FIG。就是這個聯(lián)盟組織發(fā)明和創(chuàng)造了PSR-[0-4]規(guī)范 ...
摘要:標(biāo)準(zhǔn)規(guī)范簡介是的簡寫,由組織制定的規(guī)范,是開發(fā)的實(shí)踐標(biāo)準(zhǔn)。具體標(biāo)準(zhǔn)有有了統(tǒng)一編碼風(fēng)格規(guī)范,更有利于查看和學(xué)習(xí)各個框架或類庫,不不需要每次都適應(yīng)新的編碼風(fēng)格。同時在開發(fā)團(tuán)隊(duì)內(nèi)部使用統(tǒng)一的編碼規(guī)范更有利于代碼審查版本控制團(tuán)隊(duì)內(nèi)部交流。 PHP 標(biāo)準(zhǔn)規(guī)范 PSR PSR 簡介 PSR 是 PHP Standard Recommendations 的簡寫,由 PHP FIG 組織制定的 PHP...
摘要:編碼樣式指南翻譯薛粲授權(quán)許可這份文檔是的非官方譯文。編碼樣式指南擴(kuò)展和擴(kuò)充了基礎(chǔ)編碼規(guī)范。概述代碼必須遵循一份編碼樣式指南。行不得對行寬設(shè)置硬性限制。對行寬的軟性限制必須是個字符超出時自動樣式檢查必須發(fā)出警告但不得產(chǎn)生錯誤。 PSR-2:編碼樣式指南 翻譯:薛粲授權(quán)許可:CC BY-NC 4.0 這份文檔是《PSR-2: Coding Style Guide》的非官方譯文。 《PSR-...
摘要:公認(rèn)規(guī)范總結(jié)規(guī)范中文版大部分來源翻譯部分包含例子,附錄包含了一些規(guī)范的實(shí)現(xiàn)基本編碼標(biāo)準(zhǔn)編碼風(fēng)格指南日志接口規(guī)范自動加載規(guī)范規(guī)范英文版未使用草案已棄用規(guī)范原理實(shí)現(xiàn)實(shí)現(xiàn)自動加載實(shí)現(xiàn)原理資料來源與參考 PSR公認(rèn)規(guī)范總結(jié) PSR規(guī)范中文版(大部分來源google翻譯)(cn) 部分psr包含例子,附錄包含了一些規(guī)范的實(shí)現(xiàn) PSR-1:基本編碼標(biāo)準(zhǔn) PSR-2:編碼風(fēng)格指南 PSR-3:日志...
閱讀 1865·2021-11-15 11:39
閱讀 1073·2020-12-03 17:06
閱讀 729·2019-12-27 11:42
閱讀 3267·2019-08-30 13:59
閱讀 1452·2019-08-26 13:22
閱讀 3281·2019-08-26 12:15
閱讀 2471·2019-08-26 10:22
閱讀 1558·2019-08-23 18:40