この記事では主にPHPの標準仕様について詳しく解説し、皆様のお役に立てれば幸いです。
は psr4 に置き換えられました。詳細については、こちらをご覧ください
1. 必須: 完全修飾名前空間とクラス形式:
2. 必須: 各名前空間にはトップレベルの名前空間 (ベンダー名) が必要です。
3. 各名前空間には、任意の数のサブ名前空間を含めることができます。
4. ファイルシステムがソースファイルをロードすると、名前空間間の区切り文字が DIRECTORY_SEPARATOR に変換されます。
5. クラス名
6. ファイル システムからソース ファイルをロードするときに、完全修飾された名前空間とクラスには .php 接尾辞が追加されます。
7. 完全修飾名前空間内のレターケースは任意に組み合わせることができます。
例
924501a6eee5d3274b6948eab75e7093
注: psr4 は完全修飾名前空間ではなく、完全修飾クラス名と呼ばれるようになりました。 1. 完全修飾クラス名には、「ベンダー名前空間」と呼ばれるトップレベルの名前空間が必要です。 2. 完全修飾クラス名には、1 つ以上のサブ名前空間を含めることができます。 3. 完全修飾クラス名には、最終クラス名が必要です。アンダースコアには特別な意味はありません。 5. 完全なクラス名は大文字と小文字で構成できます。すべてのクラス名は大文字と小文字を区別する必要があります。 7. 完全なクラス名では、最初の名前空間区切り文字を削除し、その前の 1 つ以上の連続する名前空間とサブ名前空間が「名前空間プレフィックス」として使用されます。これは、少なくとも 1 つの「ファイル ベース ディレクトリ」に対応する必要があります。名前空間プレフィックスの直後にあるサブ名前空間は、対応する「ファイル ベース ディレクトリ」と一致する必要があり、名前空間区切り文字がディレクトリ区切り文字として使用されます。 9. 最後のクラス名は、.php 接尾辞が付いた対応するファイルと同じ名前にする必要があります。 10. オートローダーの実装では、例外をスローしてはならず、いかなるレベルのエラー メッセージもトリガーしてはならず、戻り値を持たないようにしてください。
インスタンス
完全なクラス名 | 名前空間プレフィックス | ファイルベースディレクトリ | ファイルパス |
---|---|---|---|
AcmeLogWriterFile_Writer | AcmeLogWriter | ./acme-log-writer/lib/ | . /acme-log-writer/lib/File_Writer.php |
AuraWebResponseStatus | AuraWeb | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status 。 php |
SymfonyCoreRequest | SymfonyCore | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
ZendAcl | Zend | /usr/include s/ゼンド/ | /usr/includes/Zend/Acl.php |
関連推奨事項:
以上がPHPの標準仕様を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。