PHP PSR-4 オートローダー

WBOY
リリース: 2016-06-23 13:24:53
オリジナル
940 人が閲覧しました

オートローダー

キーワード "MUST"、"MUST NOT"、"REQUIRED"、
"SHALL"、" "SHALL NOT")、" should " ("SHOULD")、 " should not" ( "SHOULD NOT")、
「推奨」 (「RECOMMENDED」)、「できる」 (「MAY」)、および「」 「OPTIONAL」の詳細な説明は、RFC 2119 に記載されています。

1. 概要

この PSR は、ファイル パスからの対応するクラスの自動ロードに関する仕様です。

この仕様は、PSR-0 を含むあらゆる自動ロード仕様の補足として使用できます。この PSR には、自動的にロードされるクラスに対応するファイル ストレージ パスの指定も含まれます。


2. 詳細な説明

ここでの「クラス」は通常、すべてのクラス、インターフェイス、再利用可能なコード ブロック、およびその他の同様の構造を指します。

  • 完全なクラス名は次の構造である必要があります:
  •    \<命名空间>(\<子命名空间>)*\<类名>
    ログイン後にコピー
  • 完全なクラス名
  • には「ベンダー名前空間」と呼ばれる最上位の名前空間が必要です
  • 完全なクラス名

    可能です
  • 1 つ以上のサブ名前空間を持つ
  • 完全なクラス名

    には最終クラス名が必要です
  • 完全なクラス名のどの部分にも特別な意味はありません。クラス名 は大文字と小文字を使用できます

  • すべてのクラス名は大文字と小文字を区別する必要があります

  • 完全なクラス名に基づいて対応するファイルをロードする場合...

  • 完全なクラス名で、最初の名前空間区切り文字と、その前にある 1 つ以上の連続する名前空間およびサブ名前空間を「名前空間」として削除します。少なくとも 1 つの「ファイル ベース ディレクトリ」に対応する必要があります。ディレクトリ区切り文字。

    最後のクラス名
  • は、.php 接尾辞が付いた対応するファイルと同じ名前でなければなりません
  • オートローダー (オートローダー) の実装は、例外をスローしてはならず、あらゆるレベルのエラー メッセージをトリガーしてはならず、戻り値を持ってはなりません。

  • 3. 例
  • 次の表は、仕様に準拠する完全なクラス名、名前空間プレフィックス、およびファイル ベース ディレクトリに対応するファイル パスを示しています。

  • 完全なクラス名
  • 名前空間プレフィックス ファイルベースディレクトリ

  • ファイルパス
  • AcmeLogWriterFile_Writer AcmeLogWriter ./acme-log-writer /lib/

    ./acme-log-writer/ lib/File_Writer.php
  • AuraWebResponseStatus

    AuraWebSymfonyCoreZendAclZend/usr/includes/Zend/ /usr/includeウデス/ゼンド/Acl.phpこの仕様の実装については、[関連例][] を参照してください。 いつでも変更される可能性があります。
    /path/to/aura-web/src/ /path/to/aura-web/src/Response/Status.php SymfonyCoreRequest
    ./vendor/Symfony/Core/ ./vendor/Symfony/Core/Request.php
    注: 例は仕様の一部ではなく、
    Github(PizzaLiu)から転載
    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート