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

資訊專欄INFORMATION COLUMN

PHP 標(biāo)準(zhǔn)規(guī)范

FuisonDesign / 1122人閱讀

摘要:標(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è)框架或類庫(kù),不不需要每次都適應(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 規(guī)范,是 PHP 開發(fā)的實(shí)踐標(biāo)準(zhǔn)。

PHP FIG,F(xiàn)IG 是 Framework Interoperability Group(框架可互用性小組)的縮寫,由幾位開源框架的開發(fā)者成立于 2009 年,從那開始也選取了很多其他成員進(jìn)來(包括但不限于 Laravel, Joomla, Drupal, Composer, Phalcon, Slim, Symfony, Zend Framework 等),雖然不是「官方」組織,但也代表了大部分的 PHP 社區(qū)。

項(xiàng)目的目的在于:通過框架作者或者框架的代表之間討論,以最低程度的限制,制定一個(gè)協(xié)作標(biāo)準(zhǔn),各個(gè)框架遵循統(tǒng)一的編碼規(guī)范,避免各家自行發(fā)展的風(fēng)格阻礙了 PHP 的發(fā)展,解決這個(gè)程序設(shè)計(jì)師由來已久的困擾。

以上內(nèi)容來源:https://github.com/php-fig

PSR 標(biāo)準(zhǔn)內(nèi)容
狀態(tài) 序號(hào) 標(biāo)題 撰稿者 協(xié)調(diào)者 發(fā)起人
X 0 自動(dòng)加載規(guī)范 Matthew Weier O"Phinney N/A N/A
A 1 基礎(chǔ)編碼規(guī)范 Paul M. Jones N/A N/A
A 2 編碼風(fēng)格規(guī)范 Paul M. Jones N/A N/A
A 3 日志接口規(guī)范 Jordi Boggiano N/A N/A
A 4 自動(dòng)加載規(guī)范 Paul M. Jones Phil Sturgeon Larry Garfield
D 5 PHPDoc 標(biāo)準(zhǔn) Mike van Riel Vacant Vacant
A 6 緩存接口規(guī)范 Larry Garfield Paul Dragoonis Robert Hafner
A 7 HTTP 消息接口規(guī)范 Matthew Weier O"Phinney Beau Simensen Paul M. Jones
D 8 Huggable 接口 Larry Garfield Vacant Paul M. Jones
D 9 項(xiàng)目安全問題公示 Lukas Kahwe Smith Korvin Szanto Larry Garfield
D 10 項(xiàng)目安全上報(bào)方法 Lukas Kahwe Smith Larry Garfield Korvin Szanto
D 11 服務(wù)容器接口 Matthieu Napoli, David Négrier Paul M. Jones Vacant
D 12 全量編碼風(fēng)格規(guī)范 Korvin Szanto Alexander Makarov Robert Deutz
D 13 超媒體鏈接 Larry Garfield Matthew Weier O"Phinney Evert Pot

說明: A (Accepted) = 已通過 | D (Draft) = 起草中 | R (Review) = 審查中 | X (Deprecated) = 已廢棄。

PSR 解決的3個(gè)問題 AUTOLOADING

? 在此之前,各個(gè)框架或廠商各自做自己的自動(dòng)加載,有的使用 void __autoload ( string $class ) 有的使用 bool spl_autoload_register() 各自命名空間和文件目錄對(duì)應(yīng)規(guī)則不一致,需要熟悉各個(gè)框架和類庫(kù)的自動(dòng)加載機(jī)制才能順利使用。

? 有了統(tǒng)一的自動(dòng)加載規(guī)范(統(tǒng)一的命名空間與文件路徑映射規(guī)范)之后,只需要遵循同一個(gè)自動(dòng)加載機(jī)制就可以使用各個(gè)框架和類庫(kù),甚至不用知道他們內(nèi)部具體如何實(shí)現(xiàn)自動(dòng)加載。

具體 PSR 標(biāo)準(zhǔn)有:

PSR-4: Improved Autoloading

INTERFACES

? 在此之前,沒有一些統(tǒng)一的規(guī)范接口,同樣的功能(例如Log)各個(gè)框架或類庫(kù)都自己實(shí)現(xiàn),一致都在重新制造輪子,有了一些統(tǒng)一的接口,只要一個(gè)廠商或框架實(shí)現(xiàn)了統(tǒng)一接口,其它廠商或框架不需要重新實(shí)現(xiàn),直接使用即可。

具體 PSR 標(biāo)準(zhǔn)有:

PSR-3: Logger Interface

PSR-6: Caching Interface

PSR-7: HTTP Message Interfaces

PSR-11: Container Interface

PSR-13: Hypermedia Links

PSR-15: HTTP Handlers

PSR-16: Simple Cache

CODING STYLES

? 有了統(tǒng)一編碼風(fēng)格規(guī)范,更有利于查看和學(xué)習(xí)各個(gè)框架或類庫(kù),不不需要每次都適應(yīng)新的編碼風(fēng)格。

同時(shí)在開發(fā)團(tuán)隊(duì)內(nèi)部使用統(tǒng)一的編碼規(guī)范更有利于代碼審查、版本控制、團(tuán)隊(duì)內(nèi)部交流。

具體 PSR 標(biāo)準(zhǔn)有:

PSR-1: Basic Coding Standard

PSR-2: Coding Style Guide

輔助工具 phpcs

PHP Code Sniffer 簡(jiǎn)稱 phpcs ,主要用來檢查 PHP 代碼是否符合 PSR-2 的標(biāo)準(zhǔn)。如果 PHP 代碼中存在不符合 PSR-2 標(biāo)準(zhǔn)的部分,會(huì)產(chǎn)生一份錯(cuò)誤報(bào)告,便于我們檢查哪些代碼不符合標(biāo)準(zhǔn)。

安裝

composer global require "squizlabs/php_codesniffer=*"

測(cè)試

phpcs --version

使用

phpcs --standard=PSR2 PHP文件(或目錄)

注意 phpcs 默認(rèn)使用的編碼風(fēng)格標(biāo)注是 PEAR ,所以如果要檢查 PSR-2 標(biāo)準(zhǔn)需要明確指定(--standard=PSR2)。

檢查 phpcs 支持哪些編碼規(guī)范

phpcs -i

詳細(xì)操作

查看官方文檔:PHP CodeSniffer WIKi

php-cs-fixer

PHP Coding Standards Fixer 簡(jiǎn)稱 php-cs-fixer, 可以用來幫我修正代碼編碼風(fēng)格使其符合 PSR-2 規(guī)范。

安裝

composer global require friendsofphp/php-cs-fixer

測(cè)試

php-cs-fixer --version

使用

php-cs-fixer fix php /path/to/dir(or /path/to/file)

詳細(xì)操作

查看官方文檔:PHP-CS-Fixer

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

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

相關(guān)文章

  • PHP 規(guī)范說明與工具

    摘要:今天這篇分享將簡(jiǎn)單地梳理一下規(guī)范,并介紹一個(gè)代碼檢查工具,結(jié)合以及進(jìn)行實(shí)踐。目前流行的一些規(guī)范是的簡(jiǎn)寫,由組織制定的規(guī)范,是開發(fā)的實(shí)踐標(biāo)準(zhǔn)。目前已表決通過了套標(biāo)準(zhǔn),已經(jīng)得到大部分框架的支持和認(rèn)可。 > 作為一個(gè)新手,寫出規(guī)范的代碼也是一門必修課,除了閱讀相應(yīng)的代碼規(guī)范文檔之外,充分利用相關(guān)的工具能使得進(jìn)階之路事半功倍。今天這篇分享將簡(jiǎn)單地梳理一下 PHP 規(guī)范,并介紹一個(gè)代碼檢查工具 ...

    snowLu 評(píng)論0 收藏0
  • PHP自動(dòng)加載功能原理解析

    摘要:前言在開始之前,歡迎關(guān)注我自己的博客這篇文章是對(duì)自動(dòng)加載功能的一個(gè)總結(jié),內(nèi)容涉及的自動(dòng)加載功能的命名空間的與標(biāo)準(zhǔn)等內(nèi)容。要實(shí)現(xiàn)第一步,第二步的功能,必須在開發(fā)時(shí)約定類名與磁盤文件的映射方法,只有這樣我們才能根據(jù)類名找到它對(duì)應(yīng)的磁盤文件。 前言 在開始之前,歡迎關(guān)注我自己的博客:www.leoyang90.cn 這篇文章是對(duì)PHP自動(dòng)加載功能的一個(gè)總結(jié),內(nèi)容涉及PHP的自動(dòng)加載功能、P...

    Imfan 評(píng)論0 收藏0
  • 在github規(guī)范開發(fā)以及持續(xù)構(gòu)建php項(xiàng)目

    摘要:本文目的是通過自己寫的一個(gè)的簡(jiǎn)單的庫(kù)花密密碼生成工具,來學(xué)習(xí)我認(rèn)為的庫(kù)開發(fā)的一些規(guī)范,以及上持續(xù)構(gòu)建你的項(xiàng)目的一些方法。給自己的項(xiàng)目開啟持續(xù)構(gòu)建。包發(fā)布以及當(dāng)你的代碼完成后,測(cè)試完成后。 本文目的是通過自己寫的一個(gè)php的簡(jiǎn)單的庫(kù)(花密密碼生成工具), 來學(xué)習(xí)我認(rèn)為的php庫(kù)開發(fā)的一些規(guī)范,以及github上持續(xù)構(gòu)建你的項(xiàng)目的一些方法。其實(shí)是為了顯示下邊一系列的的徽章 showImg(...

    Sleepy 評(píng)論0 收藏0
  • PHP代碼修正之CodeSniffer

    摘要:它包含兩類腳本,和地址腳本對(duì)文件定義了一系列的代碼規(guī)范通常使用官方的代碼規(guī)范標(biāo)準(zhǔn),比如的,能夠檢測(cè)出不符合代碼規(guī)范的代碼并發(fā)出警告或報(bào)錯(cuò)可設(shè)置報(bào)錯(cuò)等級(jí)。腳本能自動(dòng)修正代碼格式上不符合規(guī)范的部分。 Last-Modified: 2019年5月10日13:59:27 參考鏈接 PHP開發(fā)規(guī)范之使用phpcbf腳本自動(dòng)修正代碼格式 在PhpStorm中使用PSR2編碼規(guī)范phpcbf腳本自...

    khs1994 評(píng)論0 收藏0
  • PHP-PSR 現(xiàn)代PHPer的開發(fā)規(guī)范

    摘要:的使命是實(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的簡(jiǎn)稱,意為PHP推薦標(biāo)...

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

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

0條評(píng)論

閱讀需要支付1元查看
<