1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PHPのコーディング規約と静的解析ツールまとめ

1
Last updated at Posted at 2025-06-18

この記事は、「独学エンジニア」で学んだ内容をもとに、自分自身の理解を深めるための備忘録としてまとめたものです。
PHPのコーディング規約(PSR)や、それをチェックする静的解析ツール「PHP_CodeSniffer(PHP-CS)」について、後から見返しても分かりやすいように整理しました。


1. コーディング規約とは?

  • コーディング規約とは、コードを書く際にエンジニアが守るよう定められたルールです。
  • 目的:
    • プログラムの品質を均一化。
    • コードの可読性を向上。
    • チーム開発での統一感を確保。

2. PHPのコーディング規約: PSR

PSRとは?

  • *PSR(PHP Standards Recommendation)**は、PHPにおけるコーディング規約の標準。
  • PHPの主要なフレームワーク(Laravel、Symfonyなど)のルールが統一されていなかったため、フレームワーク間での共通ルールとして定められたもの。
  • *PHP-FIG(PHP Framework Interoperability Group)**というグループが策定。

PSRの主な種類

  • PSR-1:
    • 基本的なコーディング規約
    • 例:
      • クラス名は「StudlyCaps(パスカルケース)」を使用。
      • PHPファイルはUTF-8で保存。
      • メソッド名はキャメルケースを使用。
  • PSR-12:
    • コーディングスタイルのガイドライン
    • PSR-1を基盤に、より詳細なスタイルガイドを提供。
    • 例:
      • インデントにはスペース4つを使用。
      • 行末には余分な空白を入れない。
      • 名前空間やクラスを適切に配置。

3. PHP_CodeSniffer(PHP-CS)とは?

概要

  • PHP_CodeSniffer(PHP-CS)は、PHPコードがコーディング規約に沿って書かれているかを静的解析するツール。
  • 主な機能:
    1. PHP-CS:
      • コードがコーディング規約を守っているかをチェック。
    2. PHP-CBF:
      • コードを規約に従って自動修正(フォーマット)する。

PHP-CS vs PHP-CBF

機能 PHP-CS PHP-CBF
役割 コーディング規約違反を検出。 コーディング規約違反を自動修正。
学習効果 どの規約に違反しているか学べる。 自動修正されるため、何が直ったか分かりにくい。
おすすめ用途 初心者や規約を学ぶ段階におすすめ。 時間を節約したい場合に便利。

4. 静的解析のメリット

(1) コーディング規約を守ることで得られるメリット

  • コードの品質が均一化され、読みやすいコードが書ける。
  • チーム開発において、コードの保守性と再利用性が向上。
  • レビューの効率化につながり、レビューコストが削減される。

(2) PHP-CSを使うメリット

  • 規約に違反している箇所を自動的に検出
  • 修正作業を通して、コーディング規約を学習できる。
  • コードの問題を事前に発見することで、開発効率が向上

5. 注意点

  • PHP-CS vs PHP-CBFの使い分け:
    • PHP-CSは規約に違反している箇所をリストアップするだけ。
    • PHP-CBFは違反箇所を自動修正するが、何が修正されたか分かりにくい。
    • 初心者や規約を学びたい場合は、PHP-CSを利用するのがおすすめ。
  • PSRの規約以外にも対応可能:
    • PHP-CSはPSR以外の独自の規約にも対応可能。ただし、最初はPSR-1とPSR-12を遵守するのがおすすめ。

6. 今後の学習内容

  • 次回以降で、**PHP_CodeSniffer(PHP-CS)**を実際に使ってコーディング規約をチェック。
  • PSR-1PSR-12に準拠した書き方を実践的に学び、規約に沿ったコードを書けるようにする。

7. まとめ

  • コーディング規約:
    • コードを書く際のルールで、品質を均一化するために重要。
    • PHPでは PSR-1(基本規約)と PSR-12(スタイルガイド)が標準。
  • PHP_CodeSniffer(PHP-CS):
    • コードが規約を守っているかをチェックするツール。
    • 手動で修正する際に役立つ。
  • 静的解析のメリット:
    • コードの可読性・保守性向上。
    • チーム開発でのレビュー効率化。
    • 良いコーディング習慣が身につく。

コーディング規約を理解し、静的解析ツールを活用できるようになることで、読みやすく保守しやすいコードを書く力が身につきます。この記事はあくまで自分のための学習記録ですが、同じように学習中の方にも参考になれば幸いです。
今後は、実際にPHP-CSを使ってPSR準拠のコードを書けるよう練習を続けていきたいと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?