摘要:命名空間需要遵循自動(dòng)加載規(guī)范。和之后的版本必須使用規(guī)范的命名空間。這三種類型都要遵守以下規(guī)范常量類常量必須由大寫(xiě)字母組成,單詞間由下劃線組成。一旦使用了其中的某一項(xiàng)命名凡是,應(yīng)該在一定的代碼內(nèi)保持一致庫(kù),包,類,或者方法范圍內(nèi)。
基本編碼規(guī)范
此PHP標(biāo)準(zhǔn)包含了如何去編寫(xiě)高通用性代碼中那些標(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 無(wú)BOM頭的格式。
文件可聲明類,方法,常量,或者引發(fā)“副作用”(輸出語(yǔ)句,改變PHP.ini的代碼,etc.),但是不應(yīng)該同時(shí)包含著兩項(xiàng)。
命名空間需要遵循自動(dòng)加載規(guī)范:PSR-0,PSR-4。
類名必須為StudlyCaps格式(首字母大寫(xiě)的駝峰式)。
常量必須要由大寫(xiě)字母組成,單詞間使用下劃線(_)連接。
方法必須要使用camelCase格式(首字母小的的駝峰式)
文件 2.1 PHP標(biāo)簽PHP代碼必須寫(xiě)在或者簡(jiǎn)短聲明=?>(php.ini中short_open_tag為On的情況下,不推薦),不能使用其他標(biāo)簽。
2.2編碼格式PHP代碼必須使用UTF-8無(wú)BOM頭的格式保存。
2.3 副作用一個(gè)文件可以聲明類,方法,常量等,也可以執(zhí)行那些"副作用"邏輯,但是不能同時(shí)做著兩件事!
“副作用”這個(gè)詞代表這個(gè)文件執(zhí)行了跟此文件中聲明的類,方法,常量沒(méi)有直接聯(lián)系的邏輯。
“副作用”包含:產(chǎn)生輸出,直接使用require和include包含文件,連接外部服務(wù),修改php.ini中的設(shè)置,引發(fā)錯(cuò)誤或異常,修改全局或靜態(tài)變量,讀寫(xiě)文件等等。
下面這個(gè)例子就是一個(gè)文件同時(shí)包含聲明和“副作用”
"; // declaration function foo() { // function body }
下面這個(gè)例子只包括聲明,沒(méi)有“副作用”
命名空間和類名命名空間和類命名必須遵循一項(xiàng)自動(dòng)加載規(guī)范:PSR-0或PSR-4。
這表示一個(gè)文件只能有一個(gè)類,并且這個(gè)類只有有一層命名空間:頂層空間為開(kāi)發(fā)商名
類名必須聲明為StudlyCaps(首字母大寫(xiě)的駝峰式)。
PHP5.3和之后的版本必須使用規(guī)范的命名空間。
例子:PHP5.2.x 和之前的版本應(yīng)該使用由Vendor_+類名的形式聲明類,作為虛擬命名空間。
4 類常量,屬性,方法這里的類指 Classes,interfaces,traits。這三種類型都要遵守以下規(guī)范
4.1 常量類常量必須由大寫(xiě)字母組成,單詞間由下劃線組成。例:
4.2 屬性屬性名可以使用$StudlyCaps(大寫(xiě)字母開(kāi)頭的駝峰式), $camelCase(小寫(xiě)字母開(kāi)頭的駝峰式), $under_score(下線線作為分隔符的命名)。一旦使用了其中的某一項(xiàng)命名凡是,應(yīng)該在一定的代碼內(nèi)保持一致(庫(kù),包,類,或者方法范圍內(nèi))。
4.3 方法方法必須被聲明為camelCase(小寫(xiě)字母打頭的駝峰似)。
其他原文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://specialneedsforspecialkids.com/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)目中提煉出來(lái)的一系列標(biāo)準(zhǔn),目前有越來(lái)越多的社區(qū)項(xiàng)目加入并遵循該標(biāo)準(zhǔn)。 參考:http://psr.phphub.org/ PSR-...
摘要:的使命是實(shí)現(xiàn)框架之間的互操作性。個(gè)人和官方都認(rèn)為開(kāi)發(fā)者應(yīng)該遵循更為嚴(yán)格的代碼標(biāo)準(zhǔn),在現(xiàn)代的生態(tài)系統(tǒng)中,風(fēng)格統(tǒng)一,可以更好的讓其他開(kāi)發(fā)者理解代碼。記錄的消息用于診斷檢查和排除應(yīng)用中的操作穩(wěn)定性和性能方面的問(wèn)題。 原文是在我自己博客中,小伙伴也可以點(diǎn)閱讀原文進(jìn)行跳轉(zhuǎn)查看,還有好聽(tīng)的背景音樂(lè)噢~ ????PSR是PHP Standards Recommendation的簡(jiǎn)稱,意為PHP推薦標(biāo)...
摘要:框架之間通過(guò)接口自動(dòng)加載和標(biāo)準(zhǔn)的編碼風(fēng)格進(jìn)行合作。該規(guī)范的精髓是把命名空間的前綴和系統(tǒng)中的目錄對(duì)應(yīng)起來(lái)。 PHP-FIG 1).即PHP Framework Interop Group。這個(gè)組織發(fā)布推薦的規(guī)范,而不是強(qiáng)制規(guī)范。2).PHP-FIG的使命是實(shí)現(xiàn)框架的互操作性。框架的互操作性指的是通過(guò)自動(dòng)加載機(jī)制、接口和標(biāo)準(zhǔn)的風(fēng)格,讓框架互相合作。3).框架之間通過(guò)接口、自動(dòng)加載和標(biāo)準(zhǔn)的編...
摘要:權(quán)限中心的依賴聲明聲明依賴關(guān)系檢查代碼規(guī)范聲明開(kāi)發(fā)依賴命名空間檢查代碼規(guī)范,執(zhí)行單元測(cè)試。單元測(cè)試持續(xù)交付一切都如此的完美,沒(méi)有測(cè)試,又如何可以證明這件事情的完美,又如何可以保障交付的質(zhì)量。 序 權(quán)限管理是無(wú)線運(yùn)營(yíng)系統(tǒng)中的核心模塊,通過(guò)訪問(wèn)控制策略的配置,來(lái)約定人與資源的訪問(wèn)關(guān)系。 本文著重講解如何通過(guò)PHP來(lái)構(gòu)建一個(gè)靈活、通用、安全的權(quán)限管理系統(tǒng)。 關(guān)于權(quán)限 首先我們來(lái)聊聊權(quán)限。 權(quán)...
摘要:標(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è)框架或類庫(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...
閱讀 1107·2021-11-23 10:05
閱讀 1785·2021-11-12 10:36
閱讀 1853·2019-08-30 15:56
閱讀 1684·2019-08-29 12:32
閱讀 3043·2019-08-28 18:04
閱讀 3428·2019-08-26 12:17
閱讀 2502·2019-08-26 11:35
閱讀 1240·2019-08-23 15:11