サードパーティのパッケージを自動的にロードするために、Composerは4つの方法、すなわち、PSR-0とオートローダPSR-4が生成するクラスマップのサポートを提供し、ファイルを直接含ま。
最初に導入されautoload.php
、メインのindex.phpファイルで、。
必要 'ベンダー/ autoload.phpを';
PSR-4(推奨)
composer.json構成で行われます。
{ " オートロード" :{ " PSR-4 " :{ " Fooの\\ ":" SRC / " } } }
実行composer install
更新実行、更新が自動的にロード作曲ダンプ、自動ロード。PSR-4の規則によると、index.phpにしようとしたときnew Foo\Bar\Baz
、このクラスは、作曲は自動的に「SRC /バー/ Baz.php」このファイルを探しますと、それが存在する場合は、ロードされます。
PSR-0(推奨されません)
composer.json構成で行われます。
{ " オートロード" :{ " PSR-0 " :{ " Fooの\\ ":" SRC / " } } }
実行composer install
更新実行、更新が自動的にロード作曲ダンプ、自動ロード。index.phpにしようとしたときにそのルールPSR-0に応じて注意new Foo\Bar\Baz
このクラスは、作曲は「SRC /フー/バー/ Baz.phpを探しますとき 、」 それが存在する場合は、このファイルを、ロードされます。
注:また、PSR-4注意とPSR-0に配置されている、「Fooの\」終了デリミタは、名前空間に追加する必要があり、「FooBarのは」発生し、このような事故にマッチした「foo」を防ぐために、脱出しました。
クラスマップモード
{ " オートロード" :{ " クラスマップ":[ " SRC / "、" LIB / "、" Something.php " ] } }
実行composer install
更新実行、更新が自動的にロード作曲ダンプ、自動ロード。作曲は、ファイルの.phpに指定されたディレクトリをスキャンしたり、クラスの最後の.inc、指定したファイルのパスへのマッピングクラスを生成し、新しく作成された追加vendor/composer/autoload_classmap.php
ファイルを。たとえば、SRC / BaseController
クラス、そしてautoload_classmap.php
ファイルは、このような構成が生成されます。
' BaseController ' => $ BASEDIR。' /src/BaseController.php '
クラス方式の例としては、2つの異なる状況があります。
- あなたは、ファイルに名前空間を持ってロードすると、押して名前空間がインスタンス化。
- ノー名前空間場合は、直接クラス名でインスタンス化します。
ファイルモード
{ " オートロード" :{ " ファイル" [ " SRC /てMyLibrary /のfunctions.php " ] } }
実行composer install
更新実行、更新が自動的にロード作曲ダンプ、自動ロード。ファイルの方法は、手動で即時荷重用のファイルを指定することです。例えば、我々はグローバルヘルパー関数のシリーズは、ヘルパーファイルに配置することができ、あなたが使用している場合、直接、つまり、ロードされていrequire 'vendor/autoload.php';
ますがライン上で直接使用し、自動ローダークラスローダーは自動的にファイル内のファイルをロードしますで来ました。
回します。https://blog.csdn.net/ltx06/article/details/78820127