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ẩnPSR-0
- Chỉnh sửa
composer.json
, thêm nội dung sau vào dướiautoload
"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ướiautoload.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 trongautoload.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 quaconfig/autoload.php
của framework sẽ được tải sau khi webman khởi động.
Các tệp được tải trongautoload.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 trongconfig/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 trongautoload.php
đã thiết lập tải hai tệpsupport/Request.php
vàsupport/Response.php
, đó là vì trong thư mụcvendor/workerman/webman-framework/src/support/
cũng có hai tệp tương tự, chúng ta thông quaautoload.php
ưu tiên tải tệpsupport/Request.php
vàsupport/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 trongvendor
. 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.