このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新のリビジョン 両方とも次のリビジョン | ||
psr:psr1 [2020/04/23 10:10] y2sunlight [3. 名前空間とクラス名] |
psr:psr1 [2020/07/28 14:02] tanaka [PSR-1: Basic Coding Standard] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > TODO: 編集中 | ||
- | |||
- | ----- | ||
- | |||
====== PSR-1: Basic Coding Standard ====== | ====== PSR-1: Basic Coding Standard ====== | ||
--- // | --- // | ||
- | 本章は、若干の補足を加筆してはいるものの単に[[https:// | + | 本章は、若干の補足を加筆してはいるものの単に[[https:// |
+ | |||
+ | 関連記事 | ||
- | ==== 目次 ==== | + | |
- | | + | |
* PSR-1: Basic Coding Standard - 基本コーディング規約 | * PSR-1: Basic Coding Standard - 基本コーディング規約 | ||
* [[psr: | * [[psr: | ||
行 16: | 行 13: | ||
* [[psr: | * [[psr: | ||
* [[psr: | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
----- | ----- | ||
行 25: | 行 32: | ||
このセクションの規約は、共有されるPHPコードにおいて、高度な技術的相互運用性を保証するために必要な標準コーディング要素と見なす必要があるもので構成されています。 | このセクションの規約は、共有されるPHPコードにおいて、高度な技術的相互運用性を保証するために必要な標準コーディング要素と見なす必要があるもので構成されています。 | ||
- | このドキュメントのキーワード '' | + | このドキュメントのキーワード '' |
> **RFC 2119の説明** | > **RFC 2119の説明** | ||
> '' | > '' | ||
> '' | > '' | ||
- | > '' | + | > '' |
- | > '' | + | > '' |
> '' | > '' | ||
行 72: | 行 79: | ||
* エラーまたは例外の発行 | * エラーまたは例外の発行 | ||
* ローバル変数または静的変数の変更 | * ローバル変数または静的変数の変更 | ||
- | * ファイルの読み取りまたは書き込み | + | * ファイルの読み取りまたは書き込み など |
- | * その他 | + | |
以下は、宣言と副作用の両方を含むファイルの例です。つまり、避けるべき例です: | 以下は、宣言と副作用の両方を含むファイルの例です。つまり、避けるべき例です: | ||
行 152: | 行 158: | ||
===== 4. クラス定数、プロパティ、メソッド ====== | ===== 4. クラス定数、プロパティ、メソッド ====== | ||
- | > TODO: | + | 「クラス」という用語は、すべてのクラス(class)、インターフェース(interface)、およびトレイト(trait)を指します。 |
+ | |||
+ | ==== 4.1 定数 ==== | ||
+ | クラス定数は、アンダースコア区切りで大文字で宣言する必要があります( '' | ||
+ | |||
+ | <code php> | ||
+ | namespace Vendor\Model; | ||
+ | |||
+ | class Foo | ||
+ | { | ||
+ | const VERSION = ' | ||
+ | const DATE_APPROVED = ' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== 4.2 プロパティ ==== | ||
+ | このガイドでは、プロパティ名について、**StudlyCaps**、**camelCase**、または **under_score** の使用に関する推奨を意図的に避けています。 | ||
+ | |||
+ | > | ||
+ | > | ||
+ | > | ||
+ | |||
+ | どのような命名規則が使用されていても、合理的なスコープで一貫して適用されるべきです。そのスコープとは、ベンダーレベル、パッケージレベル、クラスレベル、またはメソッドレベルなどでしょう( '' | ||
+ | |||
+ | ==== 4.3 メソッド ==== | ||
+ | メソッド名は **camelCase** で宣言する必要があります( '' | ||
\\ | \\ | ||