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