Namespace / Ordner-Konvention.
Klassen sollten entsprechend ihren Namespaces in Ordnern gespeichert werden.
Im Allgemeinen erstellen Sie ein src / -Verzeichnis in Ihrem Stammordner, das sich auf derselben Ebene wie vendor / befindet, und fügen dort Ihre Projekte hinzu. Unten finden Sie ein Beispiel für die Ordnerstruktur:
.
+-- 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
Unterschied zwischen psr-0 und psr-4
psr-0
Es ist veraltet. Wenn vendor/composer/autoload_namespaces.php
Sie sich die Datei ansehen, sehen Sie die Namespaces und die Verzeichnisse, denen sie zugeordnet sind.
composer.json
"autoload": {
"psr-0": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- Suchen Sie nach Buch \ History \ UnitedStates in src / Book /History/UnitedStates.php
- Suchen Sie nach Fahrzeug \ Luft \ Flügel \ Flugzeug in src / Fahrzeug / Luft / Flügel / Flugzeug.php
psr-4
Wenn vendor/composer/autoload_psr4.php
Sie sich die Datei ansehen, sehen Sie die Namespaces und die Verzeichnisse, denen sie zugeordnet sind.
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- Auf der Suche nach Book \ History \ UnitedStates in src /History/UnitedStates.php
- Suchen Sie nach Fahrzeug \ Luft \ Flügel \ Flugzeug in src /Air/Wings/Airplane.php
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/Book/",
"Vehicle\\": "src/Vehicle/"
}
}
- Suchen Sie nach Book \ History \ UnitedStates src / Book /History/UnitedStates.php
- Suchen Sie nach Fahrzeug \ Luft \ Flügel \ Flugzeug in src / Fahrzeug / Luft / Flügel / Flugzeug.php