HoBoFoTo

Hobo everyday foto.

日本語 English

Windows 10 IIS環境下で PHP_CodeSniffer を実装する方法

WordPressのテーマを公式テーマにアップロードしたところ、PHP_CodeSnifferでエラーが出ていますといわれました。PHP_CodeSniffer?なんだそりゃと思って調べてみると、PHPの構文チェックしてくれるツールだということが分かりました。いろいろ調べていくと、Windows 10 IIS環境下では、pearを使ってインストールできなかったので、composerを使ってインストールすることにしました。

composerのインストール

まず、

getcomposer.org
Composer
A Dependency Manager for PHP
からcomposerをダウンロードします。

Composer-Setup.exeをダウンロードしてダブルクリックするとインストールが始まります。

Nextをクリックするとphpのインストール環境を聞いてきます。


普通はそのままで大丈夫です。Nextをクリックします。すると今度はプロキシサーバーの設定を聞いてきます。

設定されている方は、入力をしてください。そうでないならNextをクリックします。

最後確認画面でるのでinstallをクリックするとインストールが開始されます。

PHP_CodeSnifferのインストール

composerをインストールすると、今度はPHP_CodeSnifferのインストールです。

ここからはコマンドラインで行うので、コマンドプロンプトかWindows PowerShellを起動します。(起動の仕方が分からない場合はコルタナで検索してください。)

以下のコマンドを入力するとPHP_CodeSnifferがインストールされます。

composer global require "squizlabs/php_codesniffer=2.*"

(もしインストールできないときは、PHPのphp_openssl.dllが有効になっていないからです。PHPのインストールフォルダにあるphp.iniのファイルを開けて、exteinsion=php_openssl.dllを有効にしてください。)

少し時間がかかりますがインストールが終了します。

きちんとインストールできたかは、

phpcs --version

と入力すると、

phpcs --version
PHP_CodeSniffer version 2.9.1 (stable) by Squiz (http://www.squiz.net)

という風に確認できます。

WordPress-Coding-Standardsのインストール

これでphpの構文チェックはできるのですがせっかくなのでWordpressの構文チェックも調べられるようにしましょう。

WordPress用の構文チェックである

GitHub
GitHub - WordPress/WordPress-Coding-Standards: PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions
PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions - WordPress/WordPress-Coding-Standards
をGitHubからダウンロードします。

ダウンロードしたWordPress-Coding-Standards-develop.zipを解凍し、D:¥などの適当なところに移動させます。

このダウンロードしたWordPress-Coding-Standards-developをPHP_CodeSnifferに認識させます。
コマンドラインで

phpcs --config-set installed_paths D:¥WordPress-Coding-Standards-develop

と入力してください。後半のフォルダは移動したフォルダを選択してください。そうするとすぐに

phpcs --config-set installed_paths D:¥WordPress-Coding-Standards-develop
Config value "installed_paths" added successfully

と成功すると思います。ちゃんとインストールできているか確認するには、

phpcs -i

と入力すると

phpcs -i
The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz, Zend, WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra and WordPress-VIP

となって、WordPress, WordPress-Core, WordPress-Docs, WordPress-Extraが出てくれば成功です。

使い方

さてこれで、準備は終了です。後は、使っていくだけですが、コマンドラインで、自分のwordpressのテーマフォルダに移動して調べたいphpファイル名を入力して

phpcs --standard=WordPress loop.php

とすると、

phpcs --standard=WordPress loop.php
FILE: D:\www\wp-content\themes\four-leaf-clover\loop.php
----------------------------------------------------------------------
FOUND 3 ERRORS AFFECTING 2 LINES
----------------------------------------------------------------------
  1 | ERROR | Missing file doc comment
 24 | ERROR | Expected next thing to be an escaping function (see
    |       | Codex for 'Data Validation'), not '__'
 24 | ERROR | A gettext call containing placeholders was found, but
    |       | was not accompanied by a "translators:" comment on the
    |       | line above to clarify the meaning of the placeholders.
----------------------------------------------------------------------

とちゃんとエラーが出てきます。

 

よかったらクリックしてください。
にほんブログ村 IT技術ブログ WordPressへ

共有:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です