はじめてのPHPプロフェッショナル開発 ch13 開発に役立つツール
なぜツールを使うのか
- 三大美徳が1つ、怠慢
- 再現可能性
- 人間は、昨日の自分のコードが他人の物に見えたりする生き物
- チームのベースを作る
- 自動で同じことを出来るので、開発フローに組み込むことが容易になる
- しょうもない悩みに時間を費やさない
- 4スペか8スペかタブか、とか
- 「ルールがあるだけ」は煩わしい
- 人間が自発的に守らないといけないから
- ルールを遵守することが自動化されると導入しやすくなる
- CIでLintして怒ってくれる、とか
PHP_CodeSniffer: コーディング規約チェックツール
- コード規約チェッカのデファクトスタンダード
- ルールセットをいろいろカスタムできる
- PSR-2
- Zend
- etc.
- 【補】Dockerが便利
unix sh
docker container run -i -v $(pwd):/project --rm herloct/phpcs $@
windows bat
docker container run -i -v %CD%:/project --rm herloct/phpcs %*
使い方
- 略
実践的なPHP CSの利用
- CLIでPHPCSを意識的に実行せずとも、
当たり前にコーディング規約に従ったコードを書けるようにする
PHPStan: コード解析ツール
- 静的解析(Linter)
- 未定義変数・クラスメンバ
- 引数・戻り値型の不一致
- PHPStanは動的な要素もある程度解析できる
- 【補】これもDockerが使えたりする
- 公式
- authloadが絡むので、プロジェクトルートをbind mountする必要あり
使い方
略