亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP的PSR系列規范

2020-03-22 18:30:16
字體:
來源:轉載
供稿:網友

PSR

是PHP Standard Recommendation的簡寫,它其實應該叫PSRs,即系列推薦標準:目前通過的規范有PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3(Logger Interface)、PSR-4(Improved Autoloading)。它不是PHP官方標準,而是從如Zend、Symfony2等知名PHP項目中提煉出來的一系列標準,目前有越來有多的社區項目加入成員并遵循該標準。

PHP-FIG — PHP Framework Interoperability Group, 是制定PSRs開發規范的組織,它的成員由很多知名PHP社區項目組成,在其網址首頁下方可以看到成員清單。這些成員制定規范,并且落實在自己的項目中。

其實各個PSR規范的內容都很簡潔明了,比起那些動則幾十頁的規范,真是好太多了。

PSR-0(Autoloading Standard)

PSR-0即類自動加載規范(原文:網址、GitHub)。從2014-10-21日起,該規范被標記為Deprecated,由PSR-4替代。它的內容十分簡潔。

內容:

一個完全合格的命名空間和類名必須有以下的結構“/<Vendor Name>/(<Namespace>/)*<Class Name>”

每個命名空間必須有頂級的命名空間(“Vendor Name”)

每個命名空間可以有任意多個子命名空間

每個命名空間在被從文件系統加載時必須被轉換為“操作系統路徑分隔符”(DIRECTORY_SEPARATOR )

每個“_”字符在“類名”中被轉換為DIRECTORY_SEPARATOR ?!癬”符號在命名空間中沒有明確含義

符合命名標準的命名空間和類名必須以“.php”結尾來加載文件

Vendor Name,命名空間,類名可以由大小寫字母組成,其中命名空間和類名是大小寫敏感的以保證多系統兼容

PSR-1(Basic Coding Standard)

PSR-1即基礎編碼標準(原文:網址、GitHub)。內榮也十分簡潔,包含了類文件、類名、類方法名的命名方法。

內容:

源文件必須只使用 <?php 和 <?= 這兩種標簽

源文件中php代碼的編碼格式必須只使用不帶BOM的UTF-8

一個源文件建議只用來做聲明(類,函數,常量等)或者只用來做一些引起副作用的操作(例如:輸出信息,修改.ini配置文件等),但不應該同時做這兩件事

命名空間和類必須遵守PSR-0標準

類名必須使用StudlyCaps寫法

類中的常量必須只由大寫字母和下劃線(_)組成

方法名必須使用cameCase寫法

PSR-2(Coding Style Guide)

PSR-2即編碼風格標準(原文:網址、GitHub)。內容就稍多,但還是比較簡潔,它以PSR-1為基礎,包含了縮進、每行代碼長度、換行、方法可見性聲明、空格和方法體大括號換行的相關規定。

標準內容:

代碼必須遵守 PSR-1

代碼必須使用4個空格來進行縮進,而不是用制表符

一行代碼的長度不應有硬限制;軟限制必須為120個字符,建議每行代碼80個字符或者更少

在命名空間的聲明下面必須有一行空行,并且在use的聲明下面也必須有一行空行

類的左花括號必須放到其聲明下面自成一行,右花括號則必須放到類主體下面自成一行

方法的左花括號必須放到其聲明下面自成一行,右花括號則必須放到方法主體的下一行

所有的屬性和方法必須有可見性聲明;abstract和final聲明必須在可見性聲明之前;而html' target='_blank'>static聲明必須在可見性聲明之后

在結構控制關鍵字的后面必須有一個空格;而方法和函數調用時后面不可有空格

結構控制的左花括號必須跟其放在同一行,右花括號必須放在該結構控制代碼主體的下一行

控制結構的左括號之后不可有空格,右括號之前也不可有空格

PSR-3(Logger Interface)

PSR-3是對應用日志類的通過接口的定義(原文:網址、GitHub)。內容很簡單,就是一個接口,官方示例代碼引用一下就好了。當然,在具體的應用中,只要遵循該接口,肯定可以定制相應的實現。

基礎內容:

LoggerInterface暴露八個接口用來記錄八個等級(debug, info, notice, warning, error, critical, alert, emergency)的日志。

第 九個方法是log,接受日志等級作為第一個參數。用一個日志等級常量來調用這個方法必須和直接調用指定等級方法的結果一致。用一個本規范中未定義且不為具 體實現所知的日志等級來調用該方法必須拋出一個Psr/Log/InvalidArgumentException。不推薦使用自定義的日志等級,除非你 非常確定當前類庫對其有所支持。

PSR-4(Improved Autoloading)

PSR-4即改進版的自動加載規范(原文:網址、GitHub)。它是PSR-0規范的接替者。它可以與任何其它的自動加載規范兼容,包括PSR-0。

內容:

術語「類」是一個泛稱;它包含類,接口,traits 以及其他類似的結構;

完全限定類名應該類似如下范例:<NamespaceName>(<SubNamespaceNames>)*<ClassName>

完全合規類名必須有一個頂級命名空間(Vendor Name)

完全合規類名可以有多個子命名空間

完全合規類名應該有一個終止類名

下劃線在完全合規類名中是沒有特殊含義的

字母在完全合規類名中可以是任何大小寫的組合

所有類名必須以大小寫敏感的方式引用

當從完全合規類名載入文件時:

在完全合規類名中,連續的一個或幾個子命名空間構成的命名空間前綴(不包括頂級命名空間的分隔符),至少對應著至少一個基礎目錄

在「命名空間前綴」后的連續子命名空間名稱對應一個「基礎目錄」下的子目錄,其中的命名 空間分隔符表示目錄分隔符。子目錄名稱必須和子命名空間名大小寫匹配

終止類名對應一個以 .php 結尾的文件。文件名必須和終止類名大小寫匹配

自動載入器的實現不可拋出任何異常,不可引發任何等級的錯誤;也不應返回值

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级大片在线免费观看| 亚洲国产精品久久91精品| 成人乱人伦精品视频在线观看| 91久久久久久久久久久| 青青a在线精品免费观看| 亚洲精品电影久久久| 丝袜美腿精品国产二区| 国产精品丝袜白浆摸在线| 亚洲精品aⅴ中文字幕乱码| 成人久久精品视频| 97视频在线看| 亚洲free性xxxx护士白浆| 综合136福利视频在线| 欧美视频裸体精品| 国产在线视频91| 57pao成人国产永久免费| www.欧美三级电影.com| 国产午夜精品视频| 高清一区二区三区四区五区| 欧美国产高跟鞋裸体秀xxxhd| 91亚洲人电影| 中文字幕日韩有码| 日韩电影免费在线观看中文字幕| 国产精品网站入口| 琪琪第一精品导航| 亚洲加勒比久久88色综合| 欧美激情视频给我| 日韩性xxxx爱| 久久精品国产2020观看福利| 成人久久久久久| 国内精品久久久久久中文字幕| 欧美高清自拍一区| 三级精品视频久久久久| 亚洲精品网站在线播放gif| 国产精品久久久久av免费| 亚洲一区亚洲二区亚洲三区| 欧日韩不卡在线视频| 久久视频精品在线| 亚洲精品720p| 91久久精品美女高潮| 亚洲成人激情小说| 日韩av影视在线| 黑人巨大精品欧美一区免费视频| 欧美午夜电影在线| 97久久久免费福利网址| 日韩在线视频中文字幕| 这里只有精品视频在线| 国产婷婷成人久久av免费高清| 在线观看日韩www视频免费| 欧美精品成人91久久久久久久| 久久艳片www.17c.com| 欧美激情精品久久久久久免费印度| 日韩在线视频免费观看高清中文| 日韩成人在线视频观看| 国产欧美精品在线| 日韩精品在线观看视频| 亚洲美女福利视频网站| 久久亚洲精品国产亚洲老地址| 欧美激情a∨在线视频播放| 国产精品视频一区二区三区四| 欧美洲成人男女午夜视频| 欧美日韩国产精品专区| 久久久久久久97| 95av在线视频| 国产精品久久久久久久天堂| 欧美日韩视频免费播放| 色爱精品视频一区| 国产精品视频精品| 欧美大片在线免费观看| 国产精品久久久久91| 午夜精品视频在线| 91精品国产乱码久久久久久久久| 日韩电影在线观看中文字幕| 精品国产乱码久久久久久婷婷| 欧美怡春院一区二区三区| 7m精品福利视频导航| 亚洲最大福利视频网站| 国产成人久久精品| 国产精品久久婷婷六月丁香| 国产精品吊钟奶在线| 国产黑人绿帽在线第一区| 欧美日韩电影在线观看| www高清在线视频日韩欧美| 日韩电影免费观看在线| 亚洲第一精品久久忘忧草社区| 少妇av一区二区三区| 色yeye香蕉凹凸一区二区av| 欧美中文字幕在线观看| 久久99久久久久久久噜噜| 欧美电影免费观看高清完整| 久久国产精品久久久久久| 精品福利在线观看| 国产手机视频精品| 日韩在线视频线视频免费网站| 97视频在线观看播放| 亚洲精品电影在线| 久久久久在线观看| 欧美精品激情视频| 91精品国产高清| 97在线观看免费| 亚洲欧美日韩高清| 国产精品视频yy9099| 狠狠综合久久av一区二区小说| 91精品免费久久久久久久久| 日韩在线观看av| 国产欧美一区二区三区久久| 中文字幕综合一区| 日韩在线不卡视频| 国产精品视频26uuu| 久久男人资源视频| 成人免费看吃奶视频网站| 国产精品永久免费视频| 色综合久综合久久综合久鬼88| 日韩精品小视频| 欧美壮男野外gaytube| 久久久久久久久国产| 992tv在线成人免费观看| 91手机视频在线观看| 亚洲成人网在线观看| 亚洲欧美在线免费| 成人性生交大片免费看小说| 色爱精品视频一区| 中国china体内裑精亚洲片| 亚洲精品98久久久久久中文字幕| 久久综合久久美利坚合众国| 日韩成人av网| 日韩一二三在线视频播| 成人观看高清在线观看免费| 91精品国产高清| 国产亚洲精品成人av久久ww| 日韩久久精品电影| 欧美亚洲视频在线看网址| 一区二区亚洲欧洲国产日韩| 久久成人18免费网站| 欧美多人乱p欧美4p久久| 亚洲人成电影网站| 在线电影av不卡网址| 欧美日韩国产一区二区| 亚洲91精品在线| 最近的2019中文字幕免费一页| 国产精品va在线播放| 亚洲性日韩精品一区二区| 日韩精品在线免费观看视频| 久久精品久久久久| 欧美日韩国产精品专区| 亚洲高清av在线| 国产在线观看91精品一区| 91精品国产高清久久久久久91| 9.1国产丝袜在线观看| 欧美在线性视频| 麻豆国产精品va在线观看不卡| 精品国产91久久久久久| 国产精品video| 日本久久久久久久久| 在线观看亚洲视频| 久久久国产精品亚洲一区| 欧美激情免费视频| 午夜精品久久17c| 亚洲精品国产电影| 亚洲在线免费视频| 精品中文字幕久久久久久| 欧美综合在线第二页| 欧美性生交大片免费| 日韩av日韩在线观看|