SHOYAN BLOG

PHPの構文チェックを自動で行う方法

私のチームではCIで自動的にLINTをする仕組みを構築しています。
この仕組みにより、レガシーコードでテストコードがない環境でもシンタックスエラーの混入を防ぐことができます。

中身はシンプルで以下のスクリプトを作成して、CIプラットホームで実行するようにします。

php-lint.sh

1
2
3
4
5
6
7
8
#!/bin/sh

RESULT=`find . -type f -name "*.php" -exec php -l {} \; 2>&1 | grep "PHP Parse error"`

if [ "$RESULT" != "" ];then
    echo "$RESULT"
    exit 1
fi

例えば、Droneでチェックする場合は以下のように設定します。

.drone.yml

1
2
script:
  - ./php-lint.sh

よく読まれている記事

Comments