コードを書く日々:フリーランスエンジニアの技術メモ

何度も同じことをググってしまう自分の備忘録です。何か調査した際には、そのエッセンスを記事としてまとめ、とりあえず共有することを心がけています。

PER(PHP Evolving Recommendations)とは、PHPのコーディング規約について

PERとは

PER(PHP Evolving Recommendations)は、PHPの開発者コミュニティによって提案され、討議された、将来のPHPの進化に関する提言集です。PHP言語の進化を促進することを目的に、PHPのコア開発者やコミュニティの開発者たちが、新しい機能や構文、標準ライブラリの改善などを提案しています。

PERは、PHP言語の進化についてのコミュニティの意見をまとめたもので、PHPの開発者が機能追加や改善を行う際に、重要な参考資料となります。PERに含まれる提言は、PHPの開発ロードマップの策定や、新しいPHPのバージョンのリリース時期の決定などに役立ちます。

PSRとは

PSR(PHP Standards Recommendations)は、PHPの標準的な開発規約を定めるグループによって定義されています。PSRは、PHP開発者が共通の規約に従ってコードを書くことを促進することを目的としており、PHPコミュニティによって広く受け入れられています。現在、PSRには複数のバージョンが存在し、それぞれに異なる規約が定義されています。

関係性

PER Coding Style(1.0.0)はPSR-12に基づいている部分が大きいですが、(現在時点では) PERはPSRを置き換えるものではありません。

ツールの活用で効率的なコードチェックを

コーディング規約に違反したコードを手動でチェックすることは非常に手間がかかります。そのため、ツールを使って自動化することが望ましいです。代表的なツールとして、PHP-CS-Fixer、PHP_CodeSniffer(phpcbf)、EasyCodingStandard(ecs)などがあります。これらのツールは、PHPのコーディング規約に準拠したコードに自動的に修正することができます。

ツールを使って、PSR-12ルールセットを使う

これらのツールは、PSR-12ルールセットを提供しています。PSR-12ルールセットは、PSR-2ルールセットをベースに、より詳細なルールを追加したものです。PSR-12ルールセットを遵守することで、PHPコードの品質を高めることができます。ツールを使って、PSR-12ルールセットに適合するようなコードを自動的に修正することができます。

まとめ

PHPのコーディング規約に遵守することは、コードの品質や保守性を向上させるために非常に重要です。しかし、手動でルールを確認することは非常に手間がかかります。ツールを使って、自動化することで効率的にコードチェックを行いましょう。特に、PHP-CS-FixerやPHP_CodeSniffer(phpcbf)、EasyCodingStandard(ecs)のようなツールを使うことをおすすめします。これらのツールは、PSR-12ルールセットを提供しており、PHPコーディング規約に準拠したコードに自動的に修正することができます。

また、これらのツールは、高度なカスタマイズの共有や相互運用性を考慮して設計されています。例えば、PHP_CodeSnifferは、様々なコーディング規約に対応しており、自分のチームやプロジェクトに合わせたカスタムルールを追加することができます。さらに、これらのツールは、多くのPHP開発者によって利用されており、そのコミュニティによって活発に開発・メンテナンスされています。