(8/31まで)高価なキッチン用品が30日間試せる

秀丸でPHPの構文チェック(SyntaxCheck)を行う方法

秀丸で現在開いているPHPファイルの文法チェックを手軽に実行する方法です。

PHPにはそもそも、コマンドラインのオプションで構文チェックがあります。
このオプションを秀丸から実行し、結果も秀丸に出力します。

PHP.net

-l --syntax-check
このオプションにより、指定した PHP コードの 構文チェックのみを簡単に行なうことができます。成功した場合、 テキスト No syntax errors detected in <filename> が標準出力に書き込まれ、リターンコードは 0 となります。失敗した場合、テキスト Errors parsing <filename> に加え、内部パーサエラーメッセージ が標準出力に書き込まれ、シェルリターンコードは、 -1 となります。

WindowsにPHPをインストール済みとして説明します。
僕の場合は "C:¥php7.2.4" にインストールしていますので、以下の説明は適時、ご自身の環境に置き換えてください。

秀丸の設定

秀丸の「プログラム実行」機能を使用します。
ちなみに説明に使用している秀丸のバージョンは8.77です。

コマンドライン

<PHP.exeへのパス> -l %f
PHPをインストールしたフォルダにphp.exeがあるので、そこまでのパスを記述します。
-l で構文チェックのオプションを付けます。
%f は実行時に、現在開いているファイルへのフルパスに置き換わります。
例)c:¥php7.2.4¥php.exe -l %f
  ※上記をコピペすると文字コードの関係かエラーになる場合があります。直打ちしてください。

標準出力

チェックを付けて、プルダウンメニューから「新規」を選択します。
「新規」にしておくことで、実行結果を秀丸に新規ウィンドウ(タブ)で出力してくれます。

設定はこれだけです。
OKボタンを押すと実行し、結果を秀丸に出力してくれます。

実行結果

文法エラーがある場合はこんな感じに出力してくれます。
下記のエラーは変数名に$を付け忘れた時の表示です。

コード
Parse error: syntax error, unexpected '=' in ¥¥Mac¥xxxxxx¥wp-content¥themes¥sango-theme-child¥functions.php on line 15
Errors parsing ¥¥Mac¥xxxxxx¥wp-content¥themes¥sango-theme-child¥functions.php

php.iniの display_errorsがOffになっている場合は、このような簡易的な表示になります。

コード
Errors parsing ¥¥Mac¥xxxxxx¥wp-content¥themes¥sango-theme-child¥functions.php

エラーがない場合は、このような表示になります。

コード
No syntax errors detected in ¥¥Mac¥xxxxxx¥wp-content¥themes¥sango-theme-child¥functions.php

php.iniの設定

エラーチェックのためにも、php.iniの設定を確認しましょう。
c:¥php7.2.4¥php.ini

僕の場合、このような設定にしています。

error_reporting = E_ALL
display_errors = On

E_ALLで全てのエラーを表示。
display_errosをOnでエラー箇所の行番号なども表示されるようにしています。

キー割り当て

「プログラム実行」にキー割り当てをしておくと、すぐに確認が出来るので便利です。
注意点として構文チェックに渡されるのは、あくまでもファイルパスなため、編集中のファイルは保存してから実行する必要があります。


秀丸ロゴ秀丸にPHP7の強調表示ファイル

コメントを残す

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