VimでPHPシンタックスエラーを検知する方法

PHPプログラマーの松永です。

今回は、VimでPHPシンタックスエラーを検知する方法をご紹介いたします。

「ファイルを保存し、ブラウザを更新し、エラー有無を確認」では作業時間がもったいないので、 ファイル保存時にPHPシンタックスエラーを検知し無駄な時間を減らします。

作業時間確保のお役に立てれば幸いです。

目次

前提

vimがインストールされていることが前提となります。

環境

  • CentOS6.9
  • Vim7.4

.vimrc

PHPシンタックスエラーを検知には.vimrcに

  • プラグインインストールの記述
  • プラグイン設定の記述

を追記する必要があります。

プラグイン

プラグインはsyntasticというプラグインを使用しています。

syntastic

https://github.com/vim-syntastic/syntastic

.vimrcへの追記

.vimrcは~/.vimrcにありますので

vim ~/.vimrc

で.vimrcを開いておきましょう。

プラグインインストールの追記

.vimrcに下記を追記します。

NeoBundle 'syntastic.git' " PHPエラー検知

僕は今もNeoBundleでVimのプラグイン管理を行っているので上記を記述していますが、 NeoBundleでなくてもプラグインをインストールすることはできます。

ご自身の環境に合った方法でインストールを行ってください。

※今回はNeoBundleを使用したプラグインのインストール方法は省略させていただきます。

プラグイン設定の追記

プラグイン製作者のREADME.mdに記載されている設定を行っています。
README.mdには製作者ならではの設定がより細かく記載されてますので、気になる方は一度見てみてください。

syntastic - README.md

https://github.com/vim-syntastic/syntastic#3-recommended-settings

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

追記後、.vimrcを保存して閉じます。

~/.vimrcの設定は以上です。

動作確認

実際にPHPファイルでエラーを発生させ、動作を確認します。
今回は確認用ファイルとしてphpMyAdminのindex.phpを使用しています。
PHPファイルにエラーになるようにテキストを記述してみます。

これは問題なくエラーになります。

このまま保存するとしっかりとエラーを検知され、表示されていることが確認できます。

赤枠 追記したテキスト
黄緑枠 検知されたエラー該当行
青枠 検知されたエラー内容

Vimでエラーが検知され、ブラウザでエラー有無を確認する必要がなくなったので、すぐに修正作業に入れます。

エラー該当行にはピンクでハイライト、下部のエラー内容を見なくてもエラーが探せるようになっていますので、 とても便利です!

なにより、左に列が追加、ピンクのハイライト、下部にエラー内容の表示があることで確実に気づくことができますので、 エラーに気づかないまま実装を進行することがありません。

以上でございます。

まとめ

Vimとブラウザの切り替え時間を年単位で考えてみると以外に膨大な時間がかかります。

作業効率化の一貫としてVimを使用している方は導入してみてはいかがでしょうか。

ツールを使用した時間の節約は自分のためにもなりますし、チームのためにもなると感じました。

この記事を書いた人 matsunaga 自宅に音楽スタジオがあるとこを夢見るPHPエンジニア
TOP