秀丸で現在開いているPHPファイルの文法チェックを手軽に実行する方法です。
PHPにはそもそも、コマンドラインのオプションで構文チェックがあります。
このオプションを秀丸から実行し、結果も秀丸に出力します。
-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でエラー箇所の行番号なども表示されるようにしています。
キー割り当て
「プログラム実行」にキー割り当てをしておくと、すぐに確認が出来るので便利です。
注意点として構文チェックに渡されるのは、あくまでもファイルパスなため、編集中のファイルは保存してから実行する必要があります。