PHP_CodeSnifferを使ってWordPressのプラグインやテーマがコーディングスタンダードに準拠しているかチェックする | firegoby.
こちらの記事を参考にPEARのコーディング仕様チェックツール「PHP_CodeSniffer」を試してみました。
やはり、上記記事の作者同様、私も自身作のプラグインをチェックしてみようと思います。
ますはこのツールのインストールです。
インストール・・・というかそもそも、このツールはコマンドラインで動作するツールなので
SSH等でサーバーにアクセス出来ることが前提となります。
また、pearで「PHP_Sniffer」をインストールし、動かす必要があるのでそういう環境が無い方は注意してください。
>> pear install PHP_CodeSniffer Unknown remote channel: pear.phpunit.de Did not download optional dependencies: channel://pear.phpunit.de/PHP_Timer, use --alldeps to download automatically pear/PHP_CodeSniffer can optionally use package "channel://pear.phpunit.de/PHP_Timer" downloading PHP_CodeSniffer-1.5.3.tgz ... Starting to download PHP_CodeSniffer-1.5.3.tgz (408,354 bytes) ..................................................................................done: 408,354 bytes install ok: channel://pear.php.net/PHP_CodeSniffer-1.5.3 >> git clone git://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git $(pear config-get php_dir)/PHP/CodeSniffer/Standards/WordPress Initialized empty Git repository in /usr/share/pear/PHP/CodeSniffer/Standards/WordPress/.git/ remote: Reusing existing pack: 1631, done. remote: Total 1631 (delta 0), reused 0 (delta 0) Receiving objects: 100% (1631/1631), 297.08 KiB | 169 KiB/s, done. Resolving deltas: 100% (901/901), done.
Throws SPAM Awayインストールディレクトリに遷移しルールとチェック対象ファイル名を入れて・・・
チェックコマンドを起動・・・
phpcs –standard=WordPress -s throws_spam_away.php
エラーの山が築かれました・・・
FILE: ...ml/blog.gti.jp/wp-content/plugins/throws-spam-away/throws_spam_away.php -------------------------------------------------------------------------------- FOUND 36 ERROR(S) AND 9 WARNING(S) AFFECTING 22 LINE(S) -------------------------------------------------------------------------------- 1 | ERROR | Filename "throws_spam_away.php" with underscores found; use | | throws-spam-away.php instead (WordPress.Files.FileName) 18 | ERROR | String "2.6.1" does not require double quotes; use single | | quotes instead (WordPress.Strings.DoubleQuoteUsage) 24 | ERROR | String "" does not require double quotes; use single quotes | | instead (WordPress.Strings.DoubleQuoteUsage) 26 | ERROR | String "1" does not require double quotes; use single quotes | | instead (WordPress.Strings.DoubleQuoteUsage) 32 | ERROR | String "1" does not require double quotes; use single quotes | | instead (WordPress.Strings.DoubleQuoteUsage) 41 | ERROR | String | | "必須キーワードが含まれていないため投稿できません。" | | does not require double quotes; use single quotes instead | | (WordPress.Strings.DoubleQuoteUsage) ・・・・以下、省略。
いろいろ直すところありますので近日中に修正版出す予定です。
先日、この「Throws SPAM Away」をInternet Explorer 8 上で動作させるとJavaScriptエラーが出ている現象を発見しましたのでそれも一緒に直します!・・・すみません。
どうぞよろしくお願いいたします。