このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
psr:psr4 [2020/05/16 00:52] y2sunlight [2. 仕様] |
psr:psr4 [2020/07/28 13:59] tanaka [PSR-4: Autoloading Standard] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > 編集中 | ||
- | |||
- | ----- | ||
- | |||
====== PSR-4: Autoloading Standard ====== | ====== PSR-4: Autoloading Standard ====== | ||
行 9: | 行 5: | ||
本章は、若干の補足を加筆してはいるものの単に[[https:// | 本章は、若干の補足を加筆してはいるものの単に[[https:// | ||
- | ==== 目次 ==== | + | 関連記事 |
- | * [[psr:top|PHP - PHP標準勧告]] | + | |
+ | * [[psr:top|PSR - PHP標準勧告]] | ||
* [[psr: | * [[psr: | ||
* [[psr: | * [[psr: | ||
行 16: | 行 13: | ||
* [[psr: | * [[psr: | ||
* [[psr: | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
+ | * [[psr: | ||
----- | ----- | ||
行 42: | 行 49: | ||
===== 2. 仕様 ====== | ===== 2. 仕様 ====== | ||
- | 1.「クラス」という用語は、クラス、インターフェース、トレイト、および他の同様の構造を指します。 | + | **1.** **クラス**という用語は、クラス、インターフェース、トレイト、および他の同様の構造を指します。 |
- | 2.完全修飾クラス名の形式は次のとおりです。 | + | **2.** 完全修飾クラス名の形式は次のとおりです。 |
<div indent> | <div indent> | ||
行 59: | 行 66: | ||
- すべてのクラス名は、大文字と小文字を区別して参照する必要があります('' | - すべてのクラス名は、大文字と小文字を区別して参照する必要があります('' | ||
- | 3.完全修飾クラス名に対応するファイルをロードするとき… | + | **3.** 完全修飾クラス名に対応するファイルをロードするとき… |
- 完全修飾クラス名内の1つ以上の先行する名前空間とサブ名前空間名の連続したシリーズ(**名前空間プレフィックス**)は、少なくとも1つの**ベースディレクトリ**に対応します。但し、名前空間プレフィックスには先頭の名前空間セパレータ(\)は含みません。\\ \\ | - 完全修飾クラス名内の1つ以上の先行する名前空間とサブ名前空間名の連続したシリーズ(**名前空間プレフィックス**)は、少なくとも1つの**ベースディレクトリ**に対応します。但し、名前空間プレフィックスには先頭の名前空間セパレータ(\)は含みません。\\ \\ | ||
行 66: | 行 73: | ||
- | 4.オートローダーの実装は例外をスローしてはならず('' | + | **4.** オートローダーの実装は例外をスローしてはならず('' |
\\ | \\ | ||
===== 3. 例 ====== | ===== 3. 例 ====== | ||
+ | |||
+ | 以下の表は、与えられた(完全修飾クラス名, | ||
+ | |||
+ | {{tablelayout? | ||
+ | ^完全修飾クラス名^名前空間プレフィックス^ベースディレクトリ^ファイルパス^ | ||
+ | |\Acme\Log\Writer\File_Writer|Acme\Log\Writer|./ | ||
+ | |\Aura\Web\Response\Status|Aura\Web|/ | ||
+ | |\Symfony\Core\Request|Symfony\Core|./ | ||
+ | |\Zend\Acl|Zend|/ | ||
+ | |||
+ | |||
+ | 仕様に準拠したオートローダーの実装例については、[[https:// | ||
\\ | \\ | ||