ホームページ > バックエンド開発 > PHPチュートリアル > PHP のクラスによる関連ファイルの自動ロードの簡単な分析

PHP のクラスによる関連ファイルの自動ロードの簡単な分析

藏色散人
リリース: 2023-04-11 09:34:01
転載
4054 人が閲覧しました

この記事は、PHP に関する知識を提供するもので、主に自動クラスローディングに関する内容を紹介しています。PHP で自動クラスローディングの関連ファイルを解析してみましょう。皆様のお役に立てれば幸いです。

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()
ログイン後にコピー
vendor/composer/autoload_classmap.php

単一のクラス名のすべてのオートロード ファイルを含む配列を返します→クラス ファイル

vendor/composer/autoload_files.php

自動的にロードする必要があるすべての PHP ファイル (通常はいくつかのグローバル関数など) を含む配列を返します。

vendor/composer/autoload_namespaces.php

自動的にロードされた名前空間のマッピング関係を含む配列を返します。

vendor/composer/autoload_psr4.php

PSR-4 自動ロード仕様に準拠する名前空間 → ファイル パスのリストを含む配列を返します。

以上がPHP のクラスによる関連ファイルの自動ロードの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート