ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

PHP_CodeSniffer と PHP_CS_Fixer どっちを使うべきか?

php
イラストダウンロードサイト【イラストAC】
の画像をもとに加工しています。

PHPのコードチェックツールは、PHP_CodeSnifferとPHP_CS_Fixerの2つが有名です。

どちらもコードチェックに加え、自動整形できたりカスタムルールを設定できたりなど、機能は同じと言っていいほど似ています。

『どっちでもいいじゃん』と言いたいところですが、たった1点の相違点で使い分けるといいです。

WordPressならPHP_CodeSniffer

WordPrressには、デファクトスタンダードのPHPコーディング規約のPSRに参加していません。独自のコーディング規約があります。

PSR (PHP Standards Recommendations)

https://www.php-fig.org/psr/

PHP標準勧告。PHPコーディングの標準化を目指す活動のこと。PHP-FIGが策定している。

PHP-FIG (PHP Framework Interop Group)

http://www.php-fig.org/

PHPフレームワーク相互運用グループ。PHPプロジェクトが集まって意見を出し合い、お互いの製品の互換性を調整する団体。

有名なプロジェクトが多く参加している。

そして、コーディングチェックツールで対応しているのは、PHP_CodeSnifferです。

実はこれらのツールで最初に有名になったのはPHP_CS_Fixerなんですが、WordPressに対応していません。

(カスタムルールで自作は可能。)

PHPをWordPressで覚えたという人はPHP_CS_Fixerのほうがマイナーに感じるでしょうが。

PHP_CodeSnifferは、略してphpcsと呼ばれます。

フレームワークで使うといえばPHP_CS_Fixer

『CMSじゃなくてフレームワークを使ってるよ』という人にはPHP_CS_Fixerのほうが馴染みがあるでしょう。

PHP_CS_Fixerは、かつては多く使われたSymfonyというPHPフレームワークのコーディング規約が用意されています。

それもあってか、5年くらい前のLaravelではPHP_CS_Fixerを使う情報がたくさんありました。

Laravelはおそらく今、PHPフレームワークで一番使われているものです。

フレームワーク使いとしては、慣れたツールを使いたがった影響でしょう。

最近は、LaravelでもPHP_CodeSnifferを使う情報が多くなってきています。

PSRに準拠するならどっちを使っても良い

PHP_CodeSnifferとPHP_CS_Fixerは両方ともPSRのルールが用意されています。

(2021年12月28日現在、PSR12に対応済み。)

WordPressを使うならPHP_CodeSniffer一択ですが、PSRを使うなら好きな方を使っていいです。

個人的には、WordPressを使うならPHP_CodeSnifferを使って、フレームワークならPHP_CS_Fixerを使うかな。

一つに絞ってもいいですが、仕事の場合、どっちを使ってても困らないように両方とも使い方を覚えます。

ルールの設定なども似ているのですぐに慣れるし。

ちなみに、この2つのツールは最初にリリースされた時期がほぼ同じ(2015年)で、GitHubの☆数もほぼ同じです。アップデートも頻繁に行われているので甲乙つけがたい状態。

強いてどっちかを選ぶなら、PHP_CodeSnifferかな。phpcsという言葉を若干多く聞くような気がするし。

前の投稿
PHP_CodeSnifferはインストールしておこう!コーディング規約を守るには必須のツール。
PHP, 表データ(連想・多次元配列)を検索する。array_***関数の組み合わせ。
次の投稿

コメントを残す