แบบแผนเนมสเปซ / โฟลเดอร์
คลาสควรถูกเก็บไว้ในโฟลเดอร์ตามเนมสเปซของพวกเขา
โดยทั่วไปคุณจะสร้าง 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 / หนังสือ /History/UnitedStates.php
- กำลังมองหายานพาหนะ \ อากาศ \ ปีก \ เครื่องบินsrc / ยานพาหนะ /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
- กำลังมองหายานพาหนะ \ Air \ Wings \ Airplane ในsrc /Air/Wings/Airplane.php
composer.json
"autoload": {
"psr-4": {
"Book\\": "src/Book/",
"Vehicle\\": "src/Vehicle/"
}
}
- กำลังมองหาหนังสือ \ ประวัติ \ ประเทศสหรัฐอเมริกาsrc / หนังสือ /History/UnitedStates.php
- กำลังมองหายานพาหนะ \ อากาศ \ ปีก \ เครื่องบินsrc / ยานพาหนะ /Air/Wings/Airplane.php