Tự động tải

Sử dụng composer để tải các tệp theo tiêu chuẩn PSR-0

webman tuân thủ tiêu chuẩn tự động tải PSR-4. Nếu công việc của bạn cần tải các thư viện theo tiêu chuẩn PSR-0, hãy tham khảo các thao tác dưới đây.

  • Tạo thư mục extend để chứa các thư viện theo tiêu chuẩn PSR-0
  • Chỉnh sửa composer.json, thêm nội dung sau vào dưới autoload
"psr-0" : {
    "": "extend/"
}

Kết quả cuối cùng sẽ giống như

  • Thực hiện composer dumpautoload
  • Thực hiện php start.php restart để khởi động lại webman (Lưu ý, phải khởi động lại mới có hiệu lực)

Sử dụng composer để tải một số tệp

  • Chỉnh sửa composer.json, thêm các tệp cần tải vào dưới autoload.files

    "files": [
    "./support/helpers.php",
    "./app/helpers.php"
    ]
  • Thực hiện composer dumpautoload

  • Thực hiện php start.php restart để khởi động lại webman (Lưu ý, phải khởi động lại mới có hiệu lực)

Mẹo
Các tệp cấu hình trong autoload.files của composer.json sẽ được tải trước khi webman khởi động. Trong khi các tệp được tải qua config/autoload.php của framework sẽ được tải sau khi webman khởi động.
Các tệp được tải trong autoload.files của composer.json cần phải restart để có hiệu lực sau khi thay đổi, reload sẽ không có hiệu lực. Trong khi các tệp được tải trong config/autoload.php của framework hỗ trợ tải nóng, chỉ cần reload sẽ có hiệu lực sau khi thay đổi.

Sử dụng framework để tải một số tệp

Có một số tệp có thể không tuân thủ tiêu chuẩn SPR, không thể tự động tải, chúng ta có thể cấu hình config/autoload.php để tải các tệp này, ví dụ:

return [
    'files' => [
        base_path() . '/app/functions.php',
        base_path() . '/support/Request.php', 
        base_path() . '/support/Response.php',
    ]
];

Mẹo
Chúng ta thấy trong autoload.php đã thiết lập tải hai tệp support/Request.phpsupport/Response.php, đó là vì trong thư mục vendor/workerman/webman-framework/src/support/ cũng có hai tệp tương tự, chúng ta thông qua autoload.php ưu tiên tải tệp support/Request.phpsupport/Response.php từ thư mục gốc của dự án, điều này cho phép chúng ta tùy biến nội dung của hai tệp này mà không cần phải sửa đổi tệp trong vendor. Nếu bạn không cần tùy biến chúng, thì có thể bỏ qua hai cấu hình này.