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

資訊專欄INFORMATION COLUMN

【PHP】PSR簡要規(guī)范

Steve_Wang_ / 3620人閱讀

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

PSR是一系列關(guān)于PHP開發(fā)的規(guī)范,分有好幾個版本,自己學(xué)的也較為膚淺,但還是希望能時常查看規(guī)范,為了方便記憶和遵循,我把關(guān)鍵詞為必須的撿拾出來,做個簡單地必要規(guī)范的記錄。(就是個搬磚的。。。)
https://github.com/PizzaLiu/PHP-FIG
http://segmentfault.com/a/1190000002521577

官方發(fā)布文件版本

PSR-0(已棄用)

PSR-1 基本代碼規(guī)范

PSR-2 代碼風(fēng)格規(guī)范

PSR-2 補(bǔ)充文檔

PSR-3 日志接口規(guī)范

PSR-4 自動載入

PSR-5PSR-6投票還未通過

必須 PSR-1 基本代碼規(guī)范

PHP代碼文件必;

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

命名空間以及類必須符合 PSR 的自動加載規(guī)范:PSR-0 或 PSR-4 中的一個

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

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

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

PHP代碼必須使用 長標(biāo)簽 短輸出標(biāo)簽; 一定不可使用其它自定義標(biāo)簽。

命名空間以及類的命名必須遵循 PSR-0.

PHP 5.3及以后版本的代碼必須使用正式的命名空間。

每個類都獨(dú)立為一個文件,且命名空間至少有一個層次:頂級的組織名稱(vendor name)

PSR-2 代碼風(fēng)格規(guī)范

代碼必須遵循 PSR-1 中的編碼規(guī)范 。

代碼必須使用4個空格符而不是 tab鍵 進(jìn)行縮進(jìn)。

備注: 使用空格而不是tab鍵縮進(jìn)的好處在于, 避免在比較代碼差異、打補(bǔ)丁、重閱代碼以及注釋時產(chǎn)生混淆。 并且,使用空格縮進(jìn),讓對齊變得更方便。

每個 namespace 命名空間聲明語句和 use 聲明語句塊后面,必須插入一個空白行。

類的開始花括號({)必須寫在函數(shù)聲明后自成一行,結(jié)束花括號(})也必須寫在函數(shù)主體后自成一行。

方法的開始花括號({)必須寫在函數(shù)聲明后自成一行結(jié)束花括號(})也必須寫在函數(shù)主體后自成一行。

類的屬性和方法必須 添加訪問修飾符(private、protected 以及 public), abstract 以及 final 必須聲明在訪問修飾符之前,而 static 必須聲明在訪問修飾符之后。

控制結(jié)構(gòu)的關(guān)鍵字后必須要有一個空格符,而調(diào)用方法或函數(shù)時則一定不能有

控制結(jié)構(gòu)的開始花括號({)必須寫在聲明的同一行,而結(jié)束花括號(})必須寫在主體后自成一行。

控制結(jié)構(gòu)的開始左括號后和結(jié)束右括號前,都一定不能有空格符。

所有PHP文件必須使用Unix LF (linefeed)作為行的結(jié)束符。

所有PHP文件必須以一個空白行作為結(jié)束

純PHP代碼文件必須省略最后的 ?> 結(jié)束標(biāo)簽。

每行一定不能存在多于一條語句

非空行后一定不能有多余的空格符。

PHP所有 關(guān)鍵字必須全部小寫

常量 true 、false 和 null 也必須全部小寫。

PSR-3 日志接口規(guī)范 PSR-4 自動加載規(guī)范

一個完整的類名需具有以下結(jié)構(gòu):

<命名空間>(<子命名空間>)*<類名>
完整的類名必須要有一個頂級命名空間,被稱為 "vendor namespace";

完整的類名可以有一個或多個子命名空間;

完整的類名必須有一個最終的類名;

完整的類名中任意一部分中的下滑線都是沒有特殊含義的;

完整的類名可以由任意大小寫字母組成;

所有類名都必須是大小寫敏感的。

當(dāng)根據(jù)完整的類名載入相應(yīng)的文件

完整的類名中,去掉最前面的命名空間分隔符,前面連續(xù)的一個或多個命名空間和子命名空間,作為“命名空間前綴”,其必須與至少一個“文件基目錄”相對應(yīng);

緊接命名空間前綴后的子命名空間必須與相應(yīng)的”文件基目錄“相匹配,其中的命名空間分隔符將作為目錄分隔符。

末尾的類名必須與對應(yīng)的以 .php 為后綴的文件同名。

自動加載器(autoloader)的實(shí)現(xiàn)一定不能拋出異常、一定不能觸發(fā)任一級別的錯誤信息以及不應(yīng)該有返回值。
建議(更多請查看詳細(xì)文檔) PSR-1

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

類的屬性命名可以遵循 大寫開頭的駝峰式 ($StudlyCaps)、小寫開頭的駝峰式 ($camelCase) 又或者是 下劃線分隔式 ($under_score),本規(guī)范不做強(qiáng)制要求,但無論遵循哪種命名方式,都應(yīng)該在一定的范圍內(nèi)保持一致。

PSR-2

每行的字符數(shù)應(yīng)該軟性保持在80個之內(nèi), 理論上一定不可多于120個, 但一定不能有硬性限制。

空行可以使得閱讀代碼更加方便以及有助于代碼的分塊。

代碼示例 PSR-2
 $b) {
            $foo->bar($arg1);
        } else {
            BazClass::bar($arg2, $arg3);
        }
    }

    final public static function bar()
    {
        // method body
    }
}

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

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

相關(guān)文章

  • PHP回顧之創(chuàng)建自己的Composer包

    摘要:想要更好的利用協(xié)同工作,學(xué)會創(chuàng)建自己的包是一項(xiàng)必不可少的技能。編輯項(xiàng)目的或,增加一項(xiàng)配置,例如以上配置使用中國全量鏡像網(wǎng)站作為默認(rèn)中央倉庫。創(chuàng)建自己的包創(chuàng)建一個包只需兩步填寫包描述信息寫代碼。通過簡單兩步,我們創(chuàng)建的自己的包。 轉(zhuǎn)載請注明文章出處:https://tlanyan.me/php-review... PHP回顧系列目錄 PHP基礎(chǔ) web請求 cookie web響應(yīng) ...

    KoreyLee 評論0 收藏0
  • PHP 標(biāo)準(zhǔn)規(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...

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

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

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

    摘要:公認(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:日志...

    tuomao 評論0 收藏0
  • PSR-4——新鮮出爐的PHP規(guī)范

    摘要:制定的規(guī)范,簡稱,是開發(fā)的事實(shí)標(biāo)準(zhǔn)。原本有四個規(guī)范,分別是自動加載基本代碼規(guī)范代碼樣式日志接口年底,新出了第個規(guī)范。區(qū)別在于的規(guī)范比較干凈,去除了兼容以前版本的內(nèi)容,有一點(diǎn)升級版的感覺。 FIG制定的PHP規(guī)范,簡稱PSR,是PHP開發(fā)的事實(shí)標(biāo)準(zhǔn)。 PSR原本有四個規(guī)范,分別是: PSR-0 自動加載 PSR-1 基本代碼規(guī)范 PSR-2 代碼樣式 PSR-3 日志接口 20...

    Fundebug 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<