Tag Archives: psr

PSR-7:HTTP message interfaces

PHP-FIG 前幾天公告了 PSR-7 (commit d40b64cc4e64e5a5b2fe998bb0a07d0b56e12505),也就是 HTTP message interfaces。 由於 PSR 的編號只是提案順序,通過不一定會照順序。只是之前剛剛好都照著順序來 (PSR-0 到 PSR-4),這次跳到 PSR-7 是跳過了 PSR-5 (PHPDoc Standard) 與 PSR-6 (Caching PSR)。 有了對 HTTP request 與 HTTP response 的標準後,可以馬上想到的是 routing library 與 controller library 可以接上去用,測試會變的簡單一些... 之後應該會有其他的想法可以做?

Posted in Computer, Murmuring, Network, Programming, Software, WWW | Tagged , , , , , | Leave a comment

PHP-CS-Fixer 1.0 出版!

PHP-CS-Fixer 正式釋出 1.0 版:「PHP CS Fixer finally reaches version 1.0」。 原作者提到了之前的版本以 regular expression 為底,而這三個月有了大改變,現在的版本是以 token 來判斷: The current stable version of PHP-CS-Fixer was released in August 2014 and it is still based on regular expressions, two years after the first … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , | Leave a comment

PSR-0 轉換到 PSR-4

在「Send PSR-0 to the Standards Farm in the Sky」這篇文章裡作者大聲呼籲用 PSR-4 取代 PSR-0。 不過 PSR-0 在 Packagist 上被廣泛使用: As of some time a few months ago (...), of the 20,097 packages hosted on Composer, 15,668 of them use PSR-0. PSR-0 的設計是考慮到 … Continue reading

Posted in Computer, Murmuring, Programming | Tagged , , , , , | Leave a comment

檢查程式碼是否符合 PSR-2 的工具:PHP_CodeSniffer (phpcs)

PHP_CodeSniffer 是套檢查 PHP 程式碼是否符合規範的工具。 拿 WordPress 3.8.1 的 index.php 跑 PSR-2 測試。 想要測試的人可以用 Vagrant 安裝測試,我用 Docker 弄了老半天弄不起來,就跑去用 Vagrant 測試了... (話說回來,Vagrant 與 Docker 真的是測試的神器,反正要弄一個 Ubuntu 平台上測試就是拿這兩個東西出來測...) 由於系統內的 PHP_CodeSniffer 不一定夠新,舉例來說,Ubuntu 12.04 的 php-codesniffer 只有 1.1.0,而掃 PSR-1 的程式出現在 1.3.5,PSR-2 出現在 1.4.0。 安裝 c9s … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , , | 2 Comments

用 php-cs-fixer 自動將程式碼以 PSR-2 規則修正

PHP Coding Standards Fixer 是在不破壞相容性的情況下,將 PHP 的程式碼往 PSR-2 的方向修正。 安裝的方式很簡單,直接抓下來: wget http://cs.sensiolabs.org/get/php-cs-fixer.phar -O php-cs-fixer chmod a+x php-cs-fixer 看是要丟到 /usr/local/bin 下,還是丟到自己的目錄裡都可以。 裝完後就玩: php-cs-fixer fix foo.php 如果 PHP 程式碼有進版本控制系統,在執行後就可以用 diff 看看改了什麼。 也可以對整個目錄修正: php-cs-fixer fix foo/ 預設是 PSR-2 以及一些作者自訂的規則,如果要強制只用 PSR-2 的話可以用 --level=psr2: By … Continue reading

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , | Leave a comment

PSR-4

剛剛看到「Composer now supports PSR-4」才發現有 PSR-4,而且出了好幾個禮拜了... PSR-4: This PSR describes a specification for autoloading classes from file paths. It is fully interoperable, and can be used in addition to any other autoloading specification, including PSR-0. This PSR also describes where to … Continue reading

Posted in Computer, Murmuring, Programming | Tagged , , , , , | Leave a comment

用起來有點苦的 Laravel...

Laravel 是個 PHP framework,是目前還蠻常看到討論的 PHP framework。不過實際在研究後發現用起來有點苦啊... Laravel 官方覺得 PSR-2 是個鳥蛋 (參考 GitHub 上的 issue:「PSR-2 Conflicts」),而我也知道 PSR-2 不怎樣,但這好歹是個標準可以靠啊... 另外一個是 overhead,在 AWS 上用 m1.large 跑 Ubuntu 64bits 測試純 PHP 的 echo "Hello, world."; 可以到 8000 reqs/sec (這是開了 APC 的情況測試,比較接近 production),但同樣是要顯示 Hello, world.,用了 … Continue reading

Posted in Computer, Murmuring, Network, Programming, Software, WWW | Tagged , , , , | 2 Comments

PHP 的 PSR-3:Logger Interface

剛剛才發現 PSR-3 已經正式定案了:「PSR-3 - Logger Interface」。 統一 log 界面,架構的基礎是建在 RFC 5424 (The Syslog Protocol) 對 log level 的定義上,使用 Psr namespace 定義實做的介面 (interface)。 目前看起來就到 PSR-3...

Posted in Computer, Murmuring, Network, Programming, Software | Tagged , , , , | Leave a comment

可能是未來的 PSR-3:LoggerInterface

Jordi Boggiano 在 PHP-FIG 上提案整合 log interface,參考「One logger to rule them all」這篇,提案本身可以參考「Logger Interface」這裡。 如果通過的話,這很有可能是 PSR-3... 所以 PHP-FIG 接下來的想法是建立 interface 嗎?hmmm...

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , | Leave a comment

PHP 的 PSR-{0,1,2} 中文版翻譯...

查資料的時候發現有人已經翻譯好 PSR-{0,1,2}: PSR-0 Autoloading Standard PSR-1 Basic Coding Standard PSR-2 Coding Style Guide 想要快速了解 PSR 在定義什麼,可以直接看中文版,如果有覺得不懂的地方再去翻英文版的原文敘述。

Posted in Computer, Murmuring, Programming, Software | Tagged , , , , , , , | Leave a comment