名前空間/フォルダの規則。
クラスは、その名前空間に従ってフォルダに格納する必要があります。
一般に、ルートフォルダーにvendor /と同じレベルにあるsrc /ディレクトリを作成し、そこにプロジェクトを追加します。以下はフォルダ構造の例です。
.
+-- src
|
+-- Book
| +-- History
| | +-- UnitedStates.php - namespace Book\History;
+-- Vehicle
| +-- Air
| | +-- Wings
| | | +-- Airplane.php - namespace Vehicle\Air\Wings;
| +-- Road
| | +-- Car.php - namespace Vehicle\Road;
+-- tests
+-- test.php
+-- vendor
psr-0とpsr-4の違い
psr-0
非推奨です。見るとvendor/composer/autoload_namespaces.php
、ファイル、あなたは彼らがマップされている名前空間とディレクトリを見ることができます。
composer.json
"autoload": {
"psr-0": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- src / Book /History/UnitedStates.php でBook \ History \ UnitedStatesを探しています
- src / Vehicle /Air/Wings/Airplane.php でVehicle \ Air \ Wings \ Airplaneを探しています
psr-4
見るとvendor/composer/autoload_psr4.php
、ファイル、あなたは彼らがマップされている名前空間とディレクトリを見ることができます。
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- src /History/UnitedStates.php でBook \ History \ UnitedStatesを探しています
- src /Air/Wings/Airplane.php でVehicle \ Air \ Wings \ Airplaneを探しています
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/Book/",
"Vehicle\\": "src/Vehicle/"
}
}
- 探しているブック \史\ UnitedStatesののSRC /予約 /History/UnitedStates.php
- src / Vehicle /Air/Wings/Airplane.php でVehicle \ Air \ Wings \ Airplaneを探しています