摘要:命名空間需要遵循自動(dòng)加載規(guī)范。和之后的版本必須使用規(guī)范的命名空間。這三種類型都要遵守以下規(guī)范常量類常量必須由大寫字母組成,單詞間由下劃線組成。一旦使用了其中的某一項(xiàng)命名凡是,應(yīng)該在一定的代碼內(nèi)保持一致庫,包,類,或者方法范圍內(nèi)。
基本編碼規(guī)范
此PHP標(biāo)準(zhǔn)包含了如何去編寫高通用性代碼中那些標(biāo)準(zhǔn)元素(class,function ,ect.)的正確姿勢(shì)!
在RFC 2119文檔中描述了關(guān)鍵字 “MUST”,“MUST NOT”,“SHALL”,“SHALL”,“SHALL NOT”,“SHOULD”,“SHOULD NOT”,“RECOMMENDED”,“MAY”,“OPTIONAL”。
文件必須使用和=標(biāo)簽打頭。
文件編碼必須使用UTF-8 無BOM頭的格式。
文件可聲明類,方法,常量,或者引發(fā)“副作用”(輸出語句,改變PHP.ini的代碼,etc.),但是不應(yīng)該同時(shí)包含著兩項(xiàng)。
命名空間需要遵循自動(dòng)加載規(guī)范:PSR-0,PSR-4。
類名必須為StudlyCaps格式(首字母大寫的駝峰式)。
常量必須要由大寫字母組成,單詞間使用下劃線(_)連接。
方法必須要使用camelCase格式(首字母小的的駝峰式)
文件 2.1 PHP標(biāo)簽PHP代碼必須寫在或者簡短聲明=?>(php.ini中short_open_tag為On的情況下,不推薦),不能使用其他標(biāo)簽。
2.2編碼格式PHP代碼必須使用UTF-8無BOM頭的格式保存。
2.3 副作用一個(gè)文件可以聲明類,方法,常量等,也可以執(zhí)行那些"副作用"邏輯,但是不能同時(shí)做著兩件事!
“副作用”這個(gè)詞代表這個(gè)文件執(zhí)行了跟此文件中聲明的類,方法,常量沒有直接聯(lián)系的邏輯。
“副作用”包含:產(chǎn)生輸出,直接使用require和include包含文件,連接外部服務(wù),修改php.ini中的設(shè)置,引發(fā)錯(cuò)誤或異常,修改全局或靜態(tài)變量,讀寫文件等等。
下面這個(gè)例子就是一個(gè)文件同時(shí)包含聲明和“副作用”
"; // declaration function foo() { // function body }
下面這個(gè)例子只包括聲明,沒有“副作用”
命名空間和類名命名空間和類命名必須遵循一項(xiàng)自動(dòng)加載規(guī)范:PSR-0或PSR-4。
這表示一個(gè)文件只能有一個(gè)類,并且這個(gè)類只有有一層命名空間:頂層空間為開發(fā)商名
類名必須聲明為StudlyCaps(首字母大寫的駝峰式)。
PHP5.3和之后的版本必須使用規(guī)范的命名空間。
例子:PHP5.2.x 和之前的版本應(yīng)該使用由Vendor_+類名的形式聲明類,作為虛擬命名空間。
4 類常量,屬性,方法這里的類指 Classes,interfaces,traits。這三種類型都要遵守以下規(guī)范
4.1 常量類常量必須由大寫字母組成,單詞間由下劃線組成。例:
4.2 屬性屬性名可以使用$StudlyCaps(大寫字母開頭的駝峰式), $camelCase(小寫字母開頭的駝峰式), $under_score(下線線作為分隔符的命名)。一旦使用了其中的某一項(xiàng)命名凡是,應(yīng)該在一定的代碼內(nèi)保持一致(庫,包,類,或者方法范圍內(nèi))。
4.3 方法方法必須被聲明為camelCase(小寫字母打頭的駝峰似)。
其他原文PSR-1-basic-coding-standard.md
PHP之道
注:本文非標(biāo)準(zhǔn)翻譯
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21507.html
摘要:參考自動(dòng)加載已廢棄基本代碼規(guī)范代碼樣式日志接口如何指定文件路徑從而自動(dòng)加載類定義基本代碼規(guī)范本篇規(guī)范制定了代碼基本元素的相關(guān)標(biāo)準(zhǔn),以確保共享的代碼間具有較高程度的技術(shù)互通性。 概述 PSR 不是PHP官方標(biāo)準(zhǔn),而是從如Zend、Symfony2等知名PHP項(xiàng)目中提煉出來的一系列標(biāo)準(zhǔn),目前有越來越多的社區(qū)項(xiàng)目加入并遵循該標(biāo)準(zhǔn)。 參考:http://psr.phphub.org/ PSR-...
摘要:的使命是實(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的簡稱,意為PHP推薦標(biāo)...
摘要:框架之間通過接口自動(dòng)加載和標(biāo)準(zhǔn)的編碼風(fēng)格進(jìn)行合作。該規(guī)范的精髓是把命名空間的前綴和系統(tǒng)中的目錄對(duì)應(yīng)起來。 PHP-FIG 1).即PHP Framework Interop Group。這個(gè)組織發(fā)布推薦的規(guī)范,而不是強(qiáng)制規(guī)范。2).PHP-FIG的使命是實(shí)現(xiàn)框架的互操作性??蚣艿幕ゲ僮餍灾傅氖峭ㄟ^自動(dòng)加載機(jī)制、接口和標(biāo)準(zhǔn)的風(fēng)格,讓框架互相合作。3).框架之間通過接口、自動(dòng)加載和標(biāo)準(zhǔn)的編...
摘要:權(quán)限中心的依賴聲明聲明依賴關(guān)系檢查代碼規(guī)范聲明開發(fā)依賴命名空間檢查代碼規(guī)范,執(zhí)行單元測(cè)試。單元測(cè)試持續(xù)交付一切都如此的完美,沒有測(cè)試,又如何可以證明這件事情的完美,又如何可以保障交付的質(zhì)量。 序 權(quán)限管理是無線運(yùn)營系統(tǒng)中的核心模塊,通過訪問控制策略的配置,來約定人與資源的訪問關(guān)系。 本文著重講解如何通過PHP來構(gòu)建一個(gè)靈活、通用、安全的權(quán)限管理系統(tǒng)。 關(guān)于權(quán)限 首先我們來聊聊權(quán)限。 權(quán)...
摘要:標(biāo)準(zhǔn)規(guī)范簡介是的簡寫,由組織制定的規(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 簡介 PSR 是 PHP Standard Recommendations 的簡寫,由 PHP FIG 組織制定的 PHP...
閱讀 1122·2021-11-23 10:05
閱讀 1805·2021-11-12 10:36
閱讀 1862·2019-08-30 15:56
閱讀 1698·2019-08-29 12:32
閱讀 3056·2019-08-28 18:04
閱讀 3441·2019-08-26 12:17
閱讀 2512·2019-08-26 11:35
閱讀 1253·2019-08-23 15:11