การโหลดอัตโนมัติ
โหลดไฟล์ตามมาตรฐาน PSR-0 ผ่าน Composer
webman ปฏิบัติตามมาตรฐานการโหลดอัตโนมัติ PSR-4 หากโปรเจกต์ของคุณต้องโหลดไลบรารีที่สอดคล้องกับ PSR-0 ให้ทำตามขั้นตอนต่อไปนี้:
- สร้างไดเร็กทอรี
extendเพื่อเก็บไลบรารี PSR-0 - แก้ไข
composer.jsonและเพิ่มเนื้อหาต่อไปนี้ในautoload:
"psr-0" : {
"": "extend/"
}
ผลลัพธ์สุดท้ายจะคล้ายกับนี้:

- รันคำสั่ง
composer dumpautoload - รันคำสั่ง
php start.php restartเพื่อรีสตาร์ท webman (หมายเหตุ: ต้องรีสตาร์ทจึงจะมีผล)
โหลดไฟล์เฉพาะบางไฟล์ผ่าน Composer
-
แก้ไข
composer.jsonและเพิ่มไฟล์ที่จะโหลดในautoload.files:"files": [ "./support/helpers.php", "./app/helpers.php" ] -
รันคำสั่ง
composer dumpautoload -
รันคำสั่ง
php start.php restartเพื่อรีสตาร์ท webman (หมายเหตุ: ต้องรีสตาร์ทจึงจะมีผล)
หมายเหตุ
ไฟล์ที่กำหนดในautoload.filesของ composer.json จะถูกโหลดก่อนที่ webman จะเริ่มทำงาน ส่วนไฟล์ที่โหลดผ่านconfig/autoload.phpของเฟรมเวิร์กจะถูกโหลดหลังจาก webman เริ่มทำงานแล้ว
การเปลี่ยนแปลงไฟล์ในautoload.filesของ composer.json ต้อง restart จึงจะมีผล reload ไม่มีผล ส่วนไฟล์ที่โหลดผ่านconfig/autoload.phpของเฟรมเวิร์กรองรับ hot-reload การเปลี่ยนแปลงจะมีผลเมื่อ reload
โหลดไฟล์เฉพาะบางไฟล์ผ่านเฟรมเวิร์ก
บางไฟล์อาจไม่สอดคล้องกับมาตรฐาน PSR จึงโหลดอัตโนมัติไม่ได้ คุณสามารถโหลดได้โดยกำหนดค่าใน config/autoload.php เช่น:
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
หมายเหตุ
ในautoload.phpกำหนดให้โหลดไฟล์support/Request.phpและsupport/Response.phpเพราะในvendor/workerman/webman-framework/src/support/ก็มีไฟล์ชื่อเดียวกัน ผ่านautoload.phpเราให้優先โหลดไฟล์ในไดเร็กทอรีรากของโปรเจกต์ เพื่อให้สามารถปรับแต่งเนื้อหาได้โดยไม่ต้องแก้ไฟล์ในvendorหากไม่ต้องปรับแต่ง สามารถละเว้นการตั้งค่าทั้งสองนี้ได้