Ad alanı / klasör kuralı.
Sınıflar, ad alanlarına göre klasörlerde saklanmalıdır.
Genel olarak, kök klasörünüzde vendor / ile aynı seviyede oturan bir src / dizini oluşturacak ve projelerinizi buraya ekleyebilirsiniz. Aşağıda klasör yapısına bir örnek verilmiştir:
.
+-- 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 ve psr-4 arasındaki fark
PSR-0
Kullanımdan kaldırıldı. Baktığımızda vendor/composer/autoload_namespaces.php
dosyanın İsim alanlarının ve onlar eşleştirilmiş olduğu dizinleri görebilirsiniz.
composer.json
"autoload": {
"psr-0": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- Aradığım Kitap içinde \ Tarih \ UnitedStates src / Kitap /History/UnitedStates.php
- Aradığım Araç içinde \ Hava \ Wings \ Airplane src / Araç /Air/Wings/Airplane.php
PSR-4
Baktığımızda vendor/composer/autoload_psr4.php
dosyanın İsim alanlarının ve onlar eşleştirilmiş olduğu dizinleri görebilirsiniz.
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/",
"Vehicle\\": "src/"
}
}
- Aradığım Kitap içinde \ Geçmişi \ UnitedStates src /History/UnitedStates.php
- Aradığım Araç içinde \ Hava \ Wings \ Airplane src /Air/Wings/Airplane.php
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/Book/",
"Vehicle\\": "src/Vehicle/"
}
}
- Aradığım Kitap \ Tarih \ UnitedStates src / Kitap /History/UnitedStates.php
- Aradığım Araç içinde \ Hava \ Wings \ Airplane src / Araç /Air/Wings/Airplane.php