Gulpを使ってファイルを保存するタイミングでPHP CS Fixerを実行する
PHP CS Fixerを実行するタイミングって皆さんどうしてますか?
PHP CS Fixerで快適PHPライフだとGit のコミットフックで実行していますね。
これでも良いとは思うんですが、個人的にはPHPファイルを保存したタイミングでPHP CS Fixerが実行できたら最高なんですよね。
Gulpで実行する
最初はPhpStormでなんとか出来ないかなぁーと思いFile watchersでなんとかしようと思いましたが、こいつはファイルを保存するタイミングじゃなくて、ファイル変更したタイミングなんですよね。
このタイミングで実行させると流石に辛いわけです。
悩んでたらTwitterでヒントを頂きました。
gulpじゃだめ?
— たつきち🍤PHPカンファレンス名古屋実行委員長 (@ttskch) June 19, 2016
実際に設定してみる
最初はgulp-php-cs-fixer使おうと思いましたが、思ったように動作しないというか、READMEすらないので使い方がわからなかったです・・・。
今回は、変更のあったファイルのみにPHP CS Fixerを実行したいんですよね。
調べた所どうやらwatch.on()
イベントを使えば、変更があったファイルのみPHP CS Fixerを実行することが可能のようです。
ということでgulpfile.js書いてみました。
これでターミナルからgulp
コマンドを実行するだけで、phpファイル保存時にPHP CS Fixerが実行されます。
最後に
ちなみにSymfony2だとcomposer require fabpot/php-cs-fixer
とかしとけばbin
ディレクトリにphp-cs-fixerが入ってくるので、
|
|
とか書いとけばプロジェクトで共通に使えるかと思います。
ということで、PHP CS Fixerを快適に使ってより良いコードを書きましょう。