この記事は、PHP に関する知識を提供するもので、主に自動クラスローディングに関する内容を紹介しています。PHP で自動クラスローディングの関連ファイルを解析してみましょう。皆様のお役に立てれば幸いです。
自動クラス読み込み
Composer は PHP ですパッケージ アプリケーションが依存するサードパーティのライブラリを管理するために使用できる管理ツール。 Composer は、自動ロード機能を通じてこれらの依存関係をロードできます。
Composer は、必要に応じて特別な PHP 関数を使用してクラスをロードする自動ロード メカニズムを使用します。この関数はオートローダー関数と呼ばれ、PHP スクリプトの実行が開始される前に呼び出されます。
PHP パーサーは、未定義のクラスを検出すると、オートローダー関数を呼び出します。オートローダー関数はクラス名をパラメータとして受け取り、このクラス名を使用してどのファイルをロードするかを決定します。たとえば、クラス名が Foo\\Bar の場合、オートローダー関数は /path/to/project/src/Foo/Bar.php ファイルをロードしようとする可能性があります。
Composer 自体には、アプリケーションが依存するライブラリをロードするために使用できるいくつかの自動ロード機能が組み込まれています。たとえば、Composer は PSR-4 自動ロード仕様を使用してクラスをロードできます。この仕様では、名前空間とファイル構造を使用して、どのファイルをロードする必要があるかを決定します。 PSR-4 自動ロードを使用するには、アプリケーションのcomposer.json ファイルで名前空間プレフィックスとファイル パスを指定する必要があります。
PSR-4 を使用する場合、通常は次のクラス自動ロード エントリ ファイルを含める必要があります。 to complete
require 'vendor/autoload.php';
PSR-4 クラス自動ロード仕様
PSR-4 (PHP Standard Recommendation 4) は、PHP 自動ロード仕様の一種です。これは、名前空間とファイル構造を使用して PHP クラスをロードする標準的な方法を提供します。
PSR-4 仕様では、各名前空間に対応するフォルダーがあります。たとえば、名前空間 Foo\\Bar がある場合、対応するクラス ファイルを /path/to/project/src/Foo/Bar フォルダーに配置できます。
PSR-4 仕様では、通常、クラス名はファイル名と同じです。たとえば、Foo\\Bar という名前空間と Baz というクラスがある場合、そのような定義を /path/to/project/src/Foo/Bar/Baz.php ファイルに配置できます。
PSR-4 仕様を使用する場合は、アプリケーションのcomposer.json ファイルで名前空間プレフィックスとファイル パスを指定する必要があります。 Composer はこの情報を使用して自動ロード コードを生成し、それを autoload_psr4.php ファイルに書き込みます。アプリケーションが実行されると、Composer はこのファイルをロードし、オートローダー関数を使用してクラスをロードします。 [推奨学習: PHP ビデオ チュートリアル ]
複数のファイル分析
##vendor/autoload.php
エントリ ファイルには autoload_real.php ファイルが直接含まれており、次のメソッドを呼び出して、使用可能なすべての名前空間、クラス、ファイルなどを登録します。ComposerAutoloaderInitxxxxxx::getLoader()
以上がPHP のクラスによる関連ファイルの自動ロードの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。