Các vấn đề sau đây: Tôi đã xác định một classmap trong composer.json tôi:Composer classmap autoload không tải file mới trong thư mục
"autoload": {
"classmap": [
"app/controllers",
"app/models",
"app/helper.php"
]
}
Tuy nhiên, khi tôi tạo một file mới trong "điều khiển" hay " mô hình "thư mục, nó sẽ không tải chúng và tôi luôn luôn phải thực hiện một composer dump-autoload.
Đây có phải là hành vi đúng không? Tôi nghĩ rằng các autoloader từ nhà soạn nhạc theo dõi các thư mục cho các tập tin mới sau đó?
Ok ... cảm ơn rất nhiều! – pyxl
"Lưu ý rằng tự động tải lớp bản đồ chỉ đơn giản là ở đó cho các hệ thống mã kế thừa cũ không triển khai ít nhất PSR-0". Không hoàn toàn đúng.Xem tài liệu về tự động tải: "--tối ưu hóa (-o): Tự động tải PSR-0/4 thành bản đồ lớp để có trình nạp tự động nhanh hơn. Điều này được khuyến nghị đặc biệt cho sản xuất, nhưng có thể mất một chút thời gian để chạy vì vậy nó hiện không được thực hiện theo mặc định. " – spekary
Tối ưu hóa trình nạp tự động không giống như xác định lược đồ tự động tải. Nếu một phiên bản tương lai của PHP cung cấp hỗ trợ cấp độ động cơ cho PSR-4, Composer có khả năng sẽ từ bỏ classmap khi tối ưu hóa cho một phiên bản như vậy, nhưng phải giữ cho classmap nếu classmap đó là cách tự động nạp được định nghĩa. – Sven