Eclipseで使う

  • Pearの場合はコマンドで実行することになります。この場合、当然ながら一通りソースを記述したあとでチェックすることになります。どうしても忘れたり、面倒だったりしてしまいます。
  • ZendStudioに組み込むことで、コード記述しながらチェックでき、その場でさっと直してしまうことができます。
  • http://www.phpsrc.org/projects/pti-php-codesniffer
  • ZendStudioは バージョン6以降はEclipse(PDT)ベースとなっていますので、PDT環境の方も同様かと思われます。

組み込み方法

  • Help > Install New Software
Step01.png
  • Work with > Addボタンをクリック
Step02.png
Step03.png
  • Installダイアログに戻るので、PHP Tool Integration にチェックし、Nextボタンをクリック
Step04.png
  • Install Details画面でNextボタンをクリック
Step05.png
  • Review Licenses画面で、I accept....を選択し、Finishボタンをクリック
Step06.png
  • Security WarningダイアログでOKボタンをクリック
Step07.png
  • Software UpdatesダイアログでYesボタンをクリック(ZendStudioが再起動します)
Step08.png
  • ZendStudio再起動後、メニューバー>Window>Preferenses
Step09.png
  • PHP Tools>PHP CodeSnifferを選択、CodeSniffer Standardsを選択します。デフォルトで何種類か準備されています。カスタム定義も使用できるようです。
Step10.png
  • Preferensesダイアログで Validationを選択、PHP CodeSniffer Validatator(for PHP Files)を選択しておけば、ビルド時にチェックしてくれます。
Step11.png

実行例

  • Zend Standardsを使ってみた例。
  • 1行が長すぎるとか、変数命名ルールに従っていない等、いろいろエラーになっています。
  • もともとルールに沿っていないソースを途中から合わせるのは難しいので、開発開始時に決めておきたいですね。
Eg01.png

実行方法

  • メニューバー>Project>Build Project
  • Build Automaticallyの場合は、Clean
  • または、PHP Explorerからファイル選択し、右クリック>PHP Tools>PHP Codesniffer

文字化けする場合

  • エラーメッセージに日本語を使用している場合、文字化けするかもしれません。

Mojibake.png

  • sniffファイルをSJISに変換して、下記ファイルを設置することで解決しています。

ファイルパス

C:\Program Files (x86)\Zend\Zend Studio 9.0\plugins\org.phpsrc.eclipse.pti.library.pear_1.2.2.R20120127000000\php\library\PEAR\PHP\CodeSniffer.conf

ファイル内容

<?php
$phpCodeSnifferConfig = array(
    'encoding' => 'utf-8',
);
  • 事情はよくわかりませんが、PHPで記述されたsniffファイルを読み込む部分は、手元環境がWindowsのためSJISで、内部的にはUTF-8ってことなのでしょうか。

Mojibake-ok.png

facebook slideshare rubygems github qiita