โหลดอัตโนมัติ

โหลดไฟล์ที่เข้ากันได้ตามมาตรฐาน 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 จำเป็นต้องรีสตาร์ทเพื่อให้มันใช้งานได้อย่างถูกต้อง การรีโหลดจะไม่ทำให้มันใช้งานได้อย่างถูกต้อง ในทำเนียบของโมดูลด้วย config/autoload.php ยังสามารถรีโหลดได้โดยการใช้ reload หลังจากการเปลี่ยนแปลงไฟล์ที่ด้วย config/autoload.php

โหลดไฟล์บางไฟล์ด้วยโมดูล

บางไฟล์อาจไม่ตรงตามมาตรฐาน SPR และไม่สามารถโหลดอัตโนมัติได้ แต่เราสามารถโหลดไฟล์เหล่านั้นผ่านการปรับแต่ง 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 เพื่อโหลดที่โปรเจ็กต์ root ของเราก่อน ซึ่งทำให้เราสามารถปรับแต่งเนื้อหาของทั้งสองไฟล์โดยไม่ต้องแก้ไขไฟล์ใน vendor หากคุณไม่ต้องการปรับแต่งเนื้อหา คุณสามารถละเว้นการตั้งค่าสองอันนี้ได้