Tự động tải
Tải tệp theo chuẩn PSR-0 bằng Composer
webman tuân theo chuẩn tải tự động PSR-4
. Nếu doanh nghiệp của bạn cần tải thư viện mã nguồn theo chuẩn PSR-0
, hãy tham khảo các thao tác sau đây.
- Tạo thư mục
extend
để lưu trữ mã nguồn theo chuẩnPSR-0
- Chỉnh sửa
composer.json
, thêm nội dung sau đây vào phầnautoload
"psr-0": {
"": "extend/"
}
Kết quả cuối cùng sẽ tương tự như sau
- Chạy lệnh
composer dumpautoload
- Chạy lệnh
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)
Tải một số tệp bằng Composer
-
Chỉnh sửa
composer.json
, thêm các tệp cần tải vào phầnautoload.files
"files": [ "./support/helpers.php", "./app/helpers.php" ]
-
Chạy lệnh
composer dumpautoload
-
Chạy lệnh
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)
Ghi chú
Các tệp được cấu hình trongautoload.files
của tập tincomposer.json
sẽ được tải trước khi webman khởi động. Còn tệp được tải thông quaconfig/autoload.php
của framework sẽ được tải sau khi webman khởi động.
Khi thay đổi tệp được tải thông quaautoload.files
trong tập tincomposer.json
, cần khởi động lại để có hiệu lực, việc reload không có hiệu lực. Còn việc thay đổi và reload tệp được tải thông quaconfig/autoload.php
có hiệu lực ngay lập tức.
Tải tệp bằng framework
Một số tệp có thể không tuân theo chuẩn SPR, không thể tải tự động. Chúng ta có thể tải các tệp này thông qua cấu hình config/autoload.php
, ví dụ:
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
Ghi chú
Chúng ta có thể thấy rằngautoload.php
đã cấu hình để tải hai tệpsupport/Request.php
vàsupport/Response.php
. Điều này là do trong thư mụcvendor/workerman/webman-framework/src/support/
cũng có hai tệp tương tự. Chúng ta sử dụngautoload.php
để ưu tiên tải hai tệp từ thư mục gốc của dự án làsupport/Request.php
vàsupport/Response.php
, điều này giúp chúng ta có thể tùy chỉnh nội dung của hai tệp này mà không cần sửa đổi tệp trongvendor
. Nếu bạn không cần tùy chỉnh chúng, bạn có thể bỏ qua cấu hình này.