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

資訊專欄INFORMATION COLUMN

PSR-1 Basic Coding Standard(譯)-- 基礎(chǔ)編碼規(guī)范

darryrzhong / 2942人閱讀

摘要:注本文算是筆者對(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是PHP Standards Recommendations(PHP標(biāo)準(zhǔn)建議) 的簡(jiǎn)寫,是由PHP-FIG組織(PHP Framework Interop Group-PHP框架交互操作組織)提出。PHP-FIG的工作是尋找項(xiàng)目之間的共性,以及讓開發(fā)者能更好協(xié)同工作的方式。讀者可能在瀏覽一些PHP技術(shù)文章的時(shí)候,可能會(huì)看到PSR-1,PSR-2,PSR-4,PSR-7等,這些是PHP-FIG的標(biāo)準(zhǔn)建議,這些標(biāo)準(zhǔn)建議的命名構(gòu)成是以"PSR-"+"序號(hào)",每個(gè)PHP_FIG標(biāo)準(zhǔn)建議都是為了解決大部分框架頻繁遇到的一個(gè)特定的問題,而與此同時(shí)框架不需要自己再去重復(fù)解決問題,而是遵循PSR標(biāo)準(zhǔn)建議,采納共享的解決方案.

目前PSR規(guī)范有哪些?

PSR規(guī)范

PSR-1: Basic Coding Standard

PSR-2: Coding Style Guide

PSR-3: Logger Interface

PSR-4: Autoloader

PSR-6: Caching Interface

PSR-7: HTTP message interfaces

PSR-11: Container interface

PSR-13: Link definition interfaces

PSR-16: Common Interface for Caching Libraries

什么是 PSR-1?

原文鏈接:PSR-1 Basic Coding Standard

Aims to ensure a high level of technical interoperability between shared PHP code.

PSR-1 就是為了能夠使共享的PHP代碼之間有高度的互操作性.

OverView (概覽)

PHP文件(MUST)必須只使用

PHP文件(MUST)必須只能使用無BOM頭的UTF-8編碼格式.

PHP文件(SHOULD)應(yīng)該要么聲明 classe,functions。constants 等等,或者 general ouput(通用輸出?),改變php.ini的配置等等,但是(SHOULD Not)不應(yīng)該兩個(gè)都有.

命名空間和類(MUST)必須要遵循自動(dòng)加載的PSR規(guī)范[PSR-0,PSR-4];

類名明明(MUST)必須以大駝峰式.

類中的常量的命名(MUST)必須為以下劃線分割的大寫字母.

方法名(MUST)必須為小駝峰式.

PHP Tags

PHP代碼(MUST)必須使用長(zhǎng)標(biāo)簽 或者 短標(biāo)簽 ;(MUST NOT)不能有其他類型的寫法.

Character Encoding

PHP代碼(MUST)必須只使用無BOM頭的UTF-8編碼格式.

Side Effects

?????一個(gè)PHP文件(SHOULD)必須要聲明一些class,function,constant等,并且沒有side effects (執(zhí)行邏輯),或者(SHOULD)應(yīng)該有side effects(執(zhí)行邏輯),但是(SHOULD NOT)不應(yīng)該兩個(gè)都同時(shí)存在.

???"side effects"代表的就是和聲明class,function,constant等不直接相關(guān)聯(lián)的執(zhí)行邏輯,僅僅來自這個(gè)包含的文件。

??"Side effects" 包含以下操作,但不僅限于此:general output(通用輸出), "require"和"include"的使用,連接外部服務(wù),修改php.ini的設(shè)置,觸發(fā)錯(cuò)誤或者拋出異常,修改全局或者靜態(tài)變量,讀取或者寫入文件操作等等.

??以下是一個(gè)我們要避免的例子,就是一個(gè)具有"declarations"和side effects的PHP文件。


";

// declaration
function foo()
{
    // function body
}

以下是一個(gè)是正確的例子,只包含了"declaraion"沒有"side effects".


Namespace and Class Names

This means each class is in a file by itself, and is in a namespace of at least one level: a top-level vendor name

???命名空間和類(MUST)必須要遵循自動(dòng)加載規(guī)范【PSR-0,PSR-4】,這意味著每個(gè)類在一個(gè)文件中,并且至少在一個(gè)level的命名空間中:最高level的vendor名稱.

???類名命名必須以大駝峰式.

???PHP5.3及以后版本中,寫代碼(MUST)必須使用正式的命名空間.

For example:


???PHP5.2.x以及之前的版本(SHOULD)應(yīng)該使用pseudo-namespacing(偽命名空間)的慣例:在類名前+"Vendor_"前綴.


The term “class” refers to all classes, interfaces, and traits.

本文中的術(shù)語class,代表的是所有的class,interface,traits。

Constants

類中的常量(MUST)必須為以下劃線分割的大寫字母.
for example:


Properties

對(duì)于類的屬性,本文檔有意省略了對(duì)屬性名的命名方式.(大駝峰/小駝峰/下劃線等)

無論采用什么樣的命名方式(SHOULD)應(yīng)該和其所在scope相一致.scope 可能為vendor級(jí)別,package級(jí)別,class級(jí)別,或者method級(jí)別.

Methods

方法名(MUST)必須聲明為小駝峰式.

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

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

相關(guān)文章

  • 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
  • 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
  • 利用 Composer 一步一步構(gòu)建自己的 PHP 框架(一)——基礎(chǔ)準(zhǔn)備

    摘要:原文發(fā)表在我的個(gè)人網(wǎng)站利用一步一步構(gòu)建自己的框架一基礎(chǔ)準(zhǔn)備一統(tǒng)天下的時(shí)代已經(jīng)到來白巖松一個(gè)時(shí)代結(jié)束了另一個(gè)時(shí)代開始了??蚣芸苫ビ眯孕〗M,簡(jiǎn)稱,成立于年。 原文發(fā)表在我的個(gè)人網(wǎng)站 利用 Composer 一步一步構(gòu)建自己的 PHP 框架(一)——基礎(chǔ)準(zhǔn)備 『Composer 一統(tǒng)天下的時(shí)代已經(jīng)到來!』 ——白巖松 一個(gè)時(shí)代結(jié)束了,另一個(gè)時(shí)代開始了。 Framework ...

    gougoujiang 評(píng)論0 收藏0
  • PSR-1: 基礎(chǔ)編碼規(guī)范

    摘要:源代碼文件必須只用不帶的編碼。類常量必須全部使用大寫字母和下劃線進(jìn)行聲明。方法名必須聲明為樣式。類名必須聲明為的形式。面向或更高版本的代碼必須使用正式的命名空間。不論使用了哪一種風(fēng)格,它應(yīng)該在一個(gè)合理的范圍內(nèi)具有一致性。 翻譯:薛粲授權(quán)許可:CC BY-NC 4.0 這份文檔是《PSR-1: Basic Coding Standard》的非官方譯文。 這份標(biāo)準(zhǔn)文檔闡述了那些需要考慮的標(biāo)...

    Pluser 評(píng)論0 收藏0
  • 現(xiàn)在寫 PHP,你應(yīng)該知道這些

    摘要:首先你應(yīng)該是在用以上的版本,如果版本在這之下,是時(shí)候該升級(jí)了。按照其官網(wǎng)的說法,這個(gè)組織的目的并不是告訴你你應(yīng)該怎么做,只是一些主流的框架之間相互協(xié)商和約定。和沒有出現(xiàn)在以上的列表中,是因?yàn)檫€沒有投票通過。不要被這些話所困擾。 首先你應(yīng)該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時(shí)候該升級(jí)了。我建議如果有條件,最好使用最新的版本。 你應(yīng)該看過 PHP The R...

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

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

0條評(píng)論

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