成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP中對(duì)PSR-1、PSR-2規(guī)范理解

lieeps / 3017人閱讀

摘要:目前已表決通過了套標(biāo)準(zhǔn),已經(jīng)得到大部分框架的支持和認(rèn)可。類中的常量所有字母都必須大寫,單詞間用下劃線分隔方法名稱必須符合式的小寫開頭駝峰命名規(guī)范。日志接口規(guī)范詳見自動(dòng)加載規(guī)范詳見緩存接口規(guī)范詳見消息接口規(guī)范詳見,暫無中文翻譯

PHP-FIG

在說啥是PSR-[0-4]規(guī)范的之前,我覺得我們有必要說下它的發(fā)明者和規(guī)范者:PHP-FIG。就是這個(gè)聯(lián)盟組織發(fā)明和創(chuàng)造了PSR-[0-4]規(guī)范

FIG 是 Framework Interoperability Group(框架可互用性小組)的縮寫,由幾位開源框架的開發(fā)者成立于
2009 年,從那開始也選取了很多其他成員進(jìn)來,雖然不是 “官方” 組織,但也代表了社區(qū)中不小的一塊。
項(xiàng)目的目的在于:通過框架作者或者框架的代表之間討論,以最低程度的限制,制定一個(gè)協(xié)作標(biāo)準(zhǔn),各個(gè)框架遵循統(tǒng)一的編碼規(guī)范,避免各家自行發(fā)展的風(fēng)格阻礙了
PHP 的發(fā)展,解決這個(gè)程序設(shè)計(jì)師由來已久的困擾。

目前已表決通過了 6 套標(biāo)準(zhǔn),已經(jīng)得到大部分 PHP 框架的支持和認(rèn)可。

1 基礎(chǔ)編碼規(guī)范 PSR-1
2 編碼風(fēng)格規(guī)范 PSR-2
3 日志接口規(guī)范 PSR-3
4 自動(dòng)加載規(guī)范 PSR-4
6 緩存接口規(guī)范 PSR-6
7 HTTP 消息接口規(guī)范


基礎(chǔ)編碼規(guī)范

PHP代碼文件 必須 標(biāo)簽開始;

PHP代碼文件 必須 以 不帶 BOM 的 UTF-8 編碼;

PHP代碼中 應(yīng)該 只定義類、函數(shù)、常量等聲明,或其他會(huì)產(chǎn)生 副作用 的操作(如:生成文件輸出以及修改 .ini配置文件等),二者只能選其一;

「副作用」(side effects) 一詞的意思是,僅僅通過包含文件,不直接聲明類、函數(shù)和常量等,而執(zhí)行的邏輯操作。
「副作用」包含卻不僅限于:

生成輸出

直接的 require 或 include

連接外部服務(wù)

修改 ini 配置

拋出錯(cuò)誤或異常

修改全局或靜態(tài)變量

讀或?qū)懳募?/p>

以下是一個(gè) 反例,一份包含「函數(shù)聲明」以及產(chǎn)生「副作用」的代碼:


";

// 聲明函數(shù)
function foo()
{
    // 函數(shù)主體部分
}

下面是一個(gè)僅包含聲明的示例文件;即應(yīng)提倡的例子:


命名空間以及類 必須 符合 PSR 的自動(dòng)加載規(guī)范:[PSR-4]() 中的一個(gè);

類的命名必須 遵循 StudlyCaps 大寫開頭的駝峰命名規(guī)范;

類的屬性命名 可以 遵循:

大寫開頭的駝峰式 ($StudlyCaps)

小寫開頭的駝峰式 ($camelCase)

下劃線分隔式 ($under_score)

本規(guī)范不做強(qiáng)制要求,但無論遵循哪種命名方式,都 應(yīng)該 在一定的范圍內(nèi)保持一致。這個(gè)范圍可以是整個(gè)團(tuán)隊(duì)、整個(gè)包、整個(gè)類或整個(gè)方法。

類中的常量所有字母都 必須 大寫,單詞間用下劃線分隔;


方法名稱 必須 符合 camelCase 式的小寫開頭駝峰命名規(guī)范。


編碼風(fēng)格規(guī)范

代碼必須遵守 PSR-1。

代碼必須使用4個(gè)空格來進(jìn)行縮進(jìn),而不是用制表符。

一行代碼的長(zhǎng)度不建議有硬限制;軟限制必須為120個(gè)字符,建議每行代碼80個(gè)字符或者更少。

在命名空間(namespace)的聲明下面必須有一行空行,并且在導(dǎo)入(use)的聲明下面也必須有一行空行。

類(class)的左花括號(hào)必須放到其聲明下面自成一行,右花括號(hào)則必須放到類主體下面自成一行。

方法(method)的左花括號(hào)必須放到其聲明下面自成一行,右花括號(hào)則必須放到方法主體的下一行。

 $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }
    }

    final public static function bar()
    {
        // 方法主體
    }
}

所有的屬性(property)和方法(method)必須有可見性聲明;抽象(abstract)和終結(jié)(final)聲明必須在可見性聲明之前;而靜態(tài)(static)聲明必須在可見性聲明之后。


在控制結(jié)構(gòu)關(guān)鍵字的后面必須有一個(gè)空格;而方法(method)和函數(shù)(function)的關(guān)鍵字的后面不可有空格。

控制結(jié)構(gòu)的左花括號(hào)必須跟其放在同一行,右花括號(hào)必須放在該控制結(jié)構(gòu)代碼主體的下一行。

控制結(jié)構(gòu)的左括號(hào)之后不可有空格,右括號(hào)之前也不可有空格。



日志接口規(guī)范

詳見


自動(dòng)加載規(guī)范

詳見


緩存接口規(guī)范

詳見


HTTP 消息接口規(guī)范

詳見,暫無中文翻譯

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28521.html

相關(guān)文章

  • PHP-PSR 現(xiàn)代PHPer的開發(fā)規(guī)范

    摘要:的使命是實(shí)現(xiàn)框架之間的互操作性。個(gè)人和官方都認(rèn)為開發(fā)者應(yīng)該遵循更為嚴(yán)格的代碼標(biāo)準(zhǔn),在現(xiàn)代的生態(tài)系統(tǒng)中,風(fēng)格統(tǒng)一,可以更好的讓其他開發(fā)者理解代碼。記錄的消息用于診斷檢查和排除應(yīng)用中的操作穩(wěn)定性和性能方面的問題。 原文是在我自己博客中,小伙伴也可以點(diǎn)閱讀原文進(jìn)行跳轉(zhuǎn)查看,還有好聽的背景音樂噢~ ????PSR是PHP Standards Recommendation的簡(jiǎn)稱,意為PHP推薦標(biāo)...

    zebrayoung 評(píng)論0 收藏0
  • php-psr-chinese psr規(guī)范總結(jié)

    摘要:公認(rèn)規(guī)范總結(jié)規(guī)范中文版大部分來源翻譯部分包含例子,附錄包含了一些規(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)原理資料來源與參考 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:日志...

    tuomao 評(píng)論0 收藏0
  • PSR-1 Basic Coding Standard(譯)-- 基礎(chǔ)編碼規(guī)范

    摘要:注本文算是筆者對(duì)規(guī)范翻譯學(xué)習(xí)筆記,之后會(huì)陸續(xù)翻譯剩余的規(guī)范,可能翻譯的有錯(cuò)誤的地方,希望讀者能夠指正,非常感謝什么是是標(biāo)準(zhǔn)建議的簡(jiǎn)寫,是由組織框架交互操作組織提出。的工作是尋找項(xiàng)目之間的共性,以及讓開發(fā)者能更好協(xié)同工作的方式。 注:本文算是筆者對(duì)PSR規(guī)范翻譯/學(xué)習(xí)筆記,之后會(huì)陸續(xù)翻譯剩余的規(guī)范,可能翻譯的有錯(cuò)誤的地方,希望讀者能夠指正,非常感謝. 什么是PSR? ? ??? PSR是...

    darryrzhong 評(píng)論0 收藏0
  • PHP 標(biāo)準(zhǔn)規(guī)范

    摘要:標(biāo)準(zhǔn)規(guī)范簡(jiǎn)介是的簡(jiǎn)寫,由組織制定的規(guī)范,是開發(fā)的實(shí)踐標(biāo)準(zhǔn)。具體標(biāo)準(zhǔn)有有了統(tǒng)一編碼風(fēng)格規(guī)范,更有利于查看和學(xué)習(xí)各個(gè)框架或類庫,不不需要每次都適應(yīng)新的編碼風(fēng)格。同時(shí)在開發(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)寫,由 PHP FIG 組織制定的 PHP...

    FuisonDesign 評(píng)論0 收藏0
  • PHPPSR簡(jiǎn)要規(guī)范

    摘要:是一系列關(guān)于開發(fā)的規(guī)范,分有好幾個(gè)版本,自己學(xué)的也較為膚淺,但還是希望能時(shí)常查看規(guī)范,為了方便記憶和遵循,我把關(guān)鍵詞為必須的撿拾出來,做個(gè)簡(jiǎn)單地必要規(guī)范的記錄。所有文件必須使用作為行的結(jié)束符。 PSR是一系列關(guān)于PHP開發(fā)的規(guī)范,分有好幾個(gè)版本,自己學(xué)的也較為膚淺,但還是希望能時(shí)常查看規(guī)范,為了方便記憶和遵循,我把關(guān)鍵詞為必須的撿拾出來,做個(gè)簡(jiǎn)單地必要規(guī)范的記錄。(就是個(gè)搬磚的。。。)...

    Steve_Wang_ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<