CodeSnifferを導入しCakePHPコーディング規約をチェックする
CakePHP Cookbookのコーディング規約のページにもある通り、CodeSnifferを導入することで、CakePHPで作成するアプリケーションのコードが、規約に沿っているかどうかをチェックできます。
規約を守ることで、保守性も高くなります。また、CakePHPのコアコードやプラグインに対して、Pull Requestを送る際、コーディング規約に則っていないと受け入れられないこともあるそうですので、ぜひ取り組みたいものです。
PHP_CodeSnifferおよびCakePHP_CodeSnifferを導入したときのメモを残しておきます。
CodeSnifferでチェックされる内容や、Jenkinsとの統合等は、@yandoさんの記事にまとまっていますので、そちらを確認してください。
リンク:CakePHPのコーディング規約違反をPHP_CodeSnifferでチェックする #CakephpAdvent2011
参考
環境
環境は以下の通りです。今回はMAMP2.1.1のPHPに導入してみました。
ソフトウェア | バージョン |
---|---|
MAMP | 2.1.1 |
PHP | 5.4.4 |
PEARでPHP_CodeSnifferおよびCakePHP_CodeSnifferをインストールする
1 2 3 4 5 6 | # PEARでPHP_CodeSnifferをインストールする pear install PHP_CodeSniffer # CakePHPコーディング規約をインストールする pear channel-discover pear.cakephp.org pear install cakephp/CakePHP_CodeSniffer |
CakePHPのコーディング規約は、PHP_CodeSnifferをインストールしただけでは存在しませんので、上記の通り、別途、CakePHP_CodeSnifferをインストールしてください。
以上で完了です。
インストールログ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | pear install PHP_CodeSniffer downloading PHP_CodeSniffer-1.4.4.tgz ... Starting to download PHP_CodeSniffer-1.4.4.tgz (374,020 bytes) .............................................................done: 374,020 bytes install ok: channel://pear.php.net/PHP_CodeSniffer-1.4.4 pear channel-discover pear.cakephp.org Adding Channel "pear.cakephp.org" succeeded Discovery of channel "pear.cakephp.org" succeeded pear install cakephp/CakePHP_CodeSniffer downloading CakePHP_CodeSniffer-0.1.11.tgz ... Starting to download CakePHP_CodeSniffer-0.1.11.tgz (17,286 bytes) ......done: 17,286 bytes install ok: channel://pear.cakephp.org/CakePHP_CodeSniffer-0.1.11 |
Utaka
2015年3月17日 @ 3:52 AM
2015 3現在
pear install PHP_CodeSniffer をしちゃうと CakePHP_CodeSnifferとのバージョンの違いで怒られました。
PHP_CodeSniffer はVer2.3.0 でした。
CakePHP_CodeSnifferは Ver1.5以下でないと動かないようです。
pear channel-discover pear.cakephp.org
pear install cakephp/CakePHP_CodeSniffer
の2つでOKです。
考えてみればCakePHP_CodeSniffeを入れる際に pearは、目的のCakePHP_CodeSniffeにバージョンを合わせてくれますし。
mawatari
2015年3月23日 @ 11:12 AM
貴重な情報を有り難うございました。