PHPのコーディングスタイルを統一し、開発者間での可読性や保守性を向上させることを目的としたPSR-2について解説します。
PSR-1の基本的なコーディング規約をベースに、さらに詳細なコーディングスタイルが定められています。
PSR-2は、PSR-1をベースにさらに詳細なルールが追加されているよ!
これに従うことで、コードが見やすくなるだけでなく、
他の開発者とのコミュニケーションも円滑になるんだ!
PSR-2の主な規則
以下に、PSR-2で定められた主なコーディングスタイルの規則を紹介します。
2.1 インデント
- インデントにはスペース4つを使用し、タブは使用しない。
2.2 改行
- 改行コードは、UnixスタイルのLF(\n)を使用する。
- 各ファイルの末尾には、空行を1つ追加する。
2.3 ブレース
- クラスやメソッドのブレースは、次の行に開始する。
- 制御構造(if, for, whileなど)のブレースは、同じ行に開始し、次の行に終了する。
2.4 キーワードと真偽値
- 制御構造のキーワード(if, else, whileなど)の後には、スペースを1つ入れる。
- 関数やメソッドのキーワード(function)の後には、スペースを1つ入れる。
- 真偽値は、小文字の
true
、false
、null
を使用する。
2.5 名前空間とuse宣言
- 名前空間宣言は、ファイルの先頭に記述する。
- use宣言は、名前空間宣言の後に記述する。
- 各use宣言は、別々の行に記述する
名前空間やuse宣言の位置が決まっているから、
コードが見やすくなるし、他の開発者も追加しやすくなるよね!
2.6 クラスの宣言
- クラス名は、アッパーキャメルケース(UpperCamelCase)を使用する。例)HogeHogeClass
- クラス定数は、すべて大文字でアンダースコアで区切る。例)HOGE_CONST
- メソッド名は、ローワーキャメルケース(lowerCamelCase)を使用する。例)hogeHogeMethod
クラスやメソッドの命名規則が統一されていると、
どのような命名がされているか予想しやすくなるよね!
2.7 関数の宣言
- 関数名は、ローワーキャメルケース(lowerCamelCase)を使用する。例)hogeFunction
- 関数の引数の後には、スペースを1つ入れる。
- 関数の開始ブレースは、次の行に記述する。
2.8 制御構造
- 制御構造(if, for, whileなど)の後には、スペースを1つ入れる。
- 制御構造の括弧内には、スペースを入れない。
クラスやメソッドの命名規則が統一されていると、
どのような命名がされているか予想しやすくなるよね!
PSR-2に準拠したコードの例
以下に、PSR-2に準拠したコードの例を示します。
<?php
namespace Vendor\Package;
use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements FooInterface
{
const SOME_CONST = 42;
public function sampleFunction($a, $b = null)
{
if ($a === $b) {
bar();
} elseif ($a > $b) {
$foo->bar($arg1);
} else {
BazClass::bar($arg2, $arg3);
}
}
final public static function bar()
{
// method body
}
}
この例を見ても分かる通り、
PSR-2に従うことでコードがすっきりと整理され、
可読性が高まるよね!
まとめ
PSR-2は、PHPのコーディングスタイルを統一し、開発者間での可読性や保守性を向上させることを目的としたコーディングスタイルガイドです。
PSR-1の基本的なコーディング規約をベースに、さらに詳細なコーディングスタイルが定められています。
開発者がPSR-2に従うことで、コードの見た目やスタイルが一貫し、他の開発者とのコミュニケーションが円滑になります。
PSR-2では、インデントや改行、ブレースの位置、キーワードや真偽値、名前空間やuse宣言、クラスやメソッドの命名規則、関数の宣言、制御構造など、多くのコーディングスタイルに関する規則が定められています。
開発者は、PSR-2に準拠したコーディングスタイルを身につけることで、コードの可読性や保守性を向上させ、チームでの開発がスムーズに進むようになります。
PSR-2に慣れることで、開発者としてのスキルが向上し、より良いコードを書くことができるようになることでしょう!
そうだね!PSR-2に従うことで、コードが見やすくなるだけでなく、
他の開発者とのコミュニケーションも円滑になるんだ!
ぜひ、PSR-2のコーディングスタイルを身につけて、優れた開発者になろう!
コメント