Простір імен / умовні папки.
Класи слід зберігати у папках відповідно до їх просторів імен.
Загалом, ви створите 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/"
}
}
- Мета книги \ Історія \ UnitedStates в ЦСМ / Book /History/UnitedStates.php
- Шукаю транспортний засіб \ Повітря \ Крила \ Літак в src / Vehicle / Air/Wings / Airplane.php
psr-4
Переглядаючи vendor/composer/autoload_psr4.php
файл, ви можете побачити простори імен та каталоги, в які вони відображені.
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- Шукаєте Книгу \ Історію \ UnitedStates в src /History/UnitedStates.php
- Шукаєте транспортний засіб \ Повітря \ Крила \ Літак в src /Air/Wings/Airplane.php
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/Book/",
"Vehicle\\": "src/Vehicle/"
}
}
- Мета книги \ History \ UnitedStates SRC / Book /History/UnitedStates.php
- Шукаю транспортний засіб \ Повітря \ Крила \ Літак в src / Vehicle / Air/Wings / Airplane.php