Autoload là gì?
Bình thường khi mọi người code, sử dụng quá nhiều folder, bên trong mỗi folder có nhiều file php có các class riêng biệt. Khi tạo file index.php để chạy thì phải include hết tất cả các folder, việc này sẽ tốn khá nhiều thời gian và khó khăn trong việc tìm tên folder, nếu có folder lồng nhau sẽ khó tìm được đường dẫn, Autoload sinh ra để tự động load tất cả các file có trong project của bạn, và chỉ cần 1 dòng lệnh ở trong file index.php là bạn có thể sử dụng được tất cả các class trong các file khác nhau.
Sử dụng Composer:
Download composer: mở terminal, gõ lệnh sudo apt install composer
Kiểm tra đã cài composer: gõ composer
Các bước thực hiện trên project:
Sắp xếp thư mục: Cấu trúc 1 project bao gồm file index.php (file hiển thị, chạy chương trình), file composer.json, 1 folder chứa các chức năng của chương trình
1. Vào project, tạo file composer.json chứa thông tin:
{
"autoload": {
"psr-4": {
"Namespace\\": "nameFolder/"
}
}
}
psr4 là chuẩn autoload của composer.
2. Với mỗi file php, đặt 1 namespace, có thể là: namespace\namefolder
3. Tạo vendor trong project bằng lệnh composer dump-autoload, file vendor chứa các autoload theo các tiêu chí như namespace, classmap, . . .
4. Trong file index.php sử dụng mã lệnh để chạy autoload trên chương trình require __DIR__ . '/vendor/autoload.php';
Tài liệu tham khảo:
https://viblo.asia/p/php-autoloading-psr4-and-composer-V3m5Wy0QZO7