1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

emacs で PHP CodeSniffer を使う (Windows)

Posted at

概要

「emacs で PHP_CodeSniffer を使って CakePHP のコーディング規約の逐次チェックをする方法」なんていくらでも載ってるだろうと思ったら、意外と日本語の情報が少なかったのでメモします。

Windows 7 での設定方法を書きますが、後半の emacs 周りの設定は他の OS でも同じだと思います。

手順

PHP のインストール

それすらまだだったので、そこから書きます。

  1. http://windows.php.net/download/ から zip をダウンロード
  • 安定してそうなので VC11 x86 Thread Safe 版を落とした
  1. zip ファイルを好きな場所に解凍
  • 参考サイトの例にならってCドライブ直下に展開 & C:\php にリネームした
  1. 環境変数 PATH に今配置したフォルダのパスを追加
  2. 同フォルダ内にある php.ini-developmentphp.ini にリネームしてコピー
  • php.ini-development は php の設定ファイルの開発環境向けスケルトン

以上が正しくできていれば、コマンドプロンプトで % php -v が実行できるはずです。

pear のインストール

ruby でいう gem みたいなものを使えるようにします。

  1. 先の php インストールフォルダ内に pear フォルダを作る
  2. http://pear.php.net/go-pear.phar を pear フォルダにダウンロード
  3. コマンドプロンプトで pear フォルダに移動し、先のファイルを php で実行
    • % php go.pear.phar
    • 全部デフォルトのまま or YES を選択
  4. 出力結果に書いてある通りに pearPEAR_ENV.reg をダブルクリック

以上が正しくできていれば、コマンドプロンプトで pear フォルダから % pear -V が実行できるはずです。

PHP_CodeSniffer と CakePHP のコーディングルールのインストール

  • pear フォルダで以下を実行:
% pear channel-discover pear.cakephp.org
% pear install cakephp/CakePHP_CodeSniffer

この作業で PHP_CodeSniffer と CakePHP のコーディング規約 (Standard) が同時に入ります。むしろこうしないと PHP_CodeSniffer のバージョンが合わなくて詰みます。

以上が正しくできていれば、コマンドプロンプトで pear フォルダから % phpcs -i が実行できるはずです。使用できるルールとして CakePHP が含まれているはずです。

flymake-phpcs のインストール

emacs に flymake-phpcs をインストールします。package.el が入っていれば、 M-x package-list-packages を実行して、リストから flymake-phpcs を選べば簡単にインストールできます。詳しい方法やそれ以外のインストール方法はすいませんがググってください。

インストールできたら、 .emacs に以下の設定を追記します:

(require 'flymake-phpcs)
(add-hook 'php-mode-hook 'flymake-phpcs-load)
(custom-set-variables
 '(flymake-phpcs-standard "CakePHP"))

(custom-set-variables
 '(flymake-phpcs-command "C:/php/pear/phpcs"))

php をCドライブ直下以外にインストールした人や、Windows 以外の人は適宜パスを修正してください。

以上で作業完了です。設定を再読み込みして php のコードを開いてみてください。適当に規約を破ると、そのあたりが赤っぽくなるはずです。動かない場合、もしかしたら別途 php-mode を入れる必要があるかもしれません。

さらなる設定

C++でプログラミングコンテストをする時用のflymakeの設定 - Qiita を参考に、次のエラー箇所にジャンプするキーバインドを設定したり、ジャンプ時にエラーの原因をミニバッファに表示したりするととても便利です(C-e を上書きするのはさすがにキツいと思いますが・・・)。

参考

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?