PHPCS導入

※2016年8月29日 追記
全体的にやり方が古いとのご指摘をいただきました。
こちらの記事は参考程度にお願いいたします。
最新のやり方を試したらまた記事としてメモると思います。

先日、継続的インテグレーションについてのセッションを聞きまして、その中で紹介されたコード検証ツールを使ってみたいと思い、導入の手順をメモ。

細かいところを根本的には理解せず手探りでやってますので、環境によっては動かないこともあるかと思います。そのあたりは自己責任にてお願いいたします。

さてまずはPHPCS(PHP_CodeSniffer)から。

PHPCSはPHPで書かれたソースがコーディングスタンダードに沿ったものとなっているかチェックするツールです。

WordPressのコーディングスタンダードを追加すればPHPとして正しいかどうかに加え、WordPressテンプレートとして正しく書かれているかを検証できます。

インストール

Composer

今回は、ComposerというPHPパッケージ管理ツールを使ってPHPCSをインストールしました。僕の環境にはCompserが入っていなかったので、作業はそのインストールからです。

ComposerはこれまたHomebrewというパッケージ管理ツールでインストールします。参考にしたサイトのままターミナルにコマンドを打ったらエラーが出てしまいましたので、まずはHomebrewをアップデート

そしてComposerをインストール

PHPCS

Composerを使ってphpcsをインストール

WordPress-Coding-Standards

WordPressのコーディングスタンダードをインストール

上記でCloneするには公開鍵の設定が必要な場合があります。

自身のGitHubのsshの設定に公開鍵(~/.ssh/id_rsa.pub)を登録します。ローカルの公開鍵をエディタで開いてコピペでOK。

パスを通す

PHPCSを動作させるにあたり’.composer/vendor/bin’にパスを通します。
以下の行を’~/.bash_profile’に追加します。

なおターミナルから任意のエディタを開くには以下のような感じ

とりあえずSublimeTextで開く方法をネットで拾って実行しました。

上記記述でSublimeTextをsublというコマンドで実行できるように登録しているようです。

上記をやった後、以下のコマンドでSublimeTextで起動できるようになりました。

無事に.bash_profileが開けたら、パスを通す記述を追加します。
もし.bash_profileが無い場合は空のファイルが開くので、1行目に書いて保存でOKです。

動作テスト

以下のコマンドで、インストールされているコーディングスタンダードの種類が表示されます。

ここまで問題なければ以下の様に表示されるはずです。

実際にチェック

phpcsでのチェックにあたり、エイリアスを作成しておくと便利みたいです。
以下の一文を、先ほどの.bash_profileに新たに貼り付けます。

すると以降、以下の様なコマンドでチェックできるようになります。

実行結果

以下、実行結果の一例です。

ひとつ目はちゃんとエスケープしなさいということみたいです。
ふたつ目は空白が入った行があるよと。
三つ目は配列の最後には必ずカンマ入れなさいよということですね。

こんな感じでエラー表示されます。

ちなみにいくつかファイル試してみて僕が一番数多く指摘を受けたのは「括弧に値が入ってる場合は必ず前後にスペースを入れろ」っていうやつでした。おびただしい数のエラーとなってしまいました…

僕はツギハギでずっと勉強してきていて、PHPの書き方の基本も知らないからこういうのすごく助かります。

参考にしたページ

以下のページを主に参考にさせていただきました。ありがとうございました。

https://firegoby.jp/archives/5532
http://www.d-wood.com/blog/2014/09/12_6884.html
http://qiita.com/pugiemonn/items/44b426c9c3475299c18f
http://qiita.com/htano/items/d154d7a207ecdb97d535
http://qiita.com/ug23/items/08dcdd3785755d308e79