Tôi đã làm việc trong một dự án với một số mã tùy chỉnh ... đây là dự án Magento 2 "trung bình" đầu tiên của chúng tôi, vì vậy (như tất cả mọi người ở đây tôi nghĩ) mỗi ngày chúng tôi học những điều mới và chúng tôi phải thay đổi cách đối phó với phiên bản Magento mới này
Lý do cho câu hỏi này là hỏi về lệnh setup:di:compile
Tôi đã sử dụng nó kể từ ngày đầu tiên với Magento 2, vì bin / magento yêu cầu nó sau mỗi lần setup:upgrade
, với thông báo "Vui lòng chạy lại lệnh biên dịch Magento"
Chà ... tôi đã tìm thấy việc thực thi setup:di:compile
phá vỡ trang xem sản phẩm trong dự án này, với một Lỗi nghiêm trọng hoàn toàn mơ hồ. Tôi đã dành cả ngày làm việc để cố gắng gỡ lỗi nó và thử nghiệm với các thay đổi mã với kết quả bằng không
Hôm nay, tôi đã phát hiện ra rằng nếu tôi bỏ qua lệnh đó thì tất cả đều hoạt động như một bùa mê, ngay cả trong chế độ sản xuất
Vì vậy, câu hỏi là ... chính xác thì setup:di:compile
lệnh đó là gì? Có cần thiết không? Chỉ đề nghị? Hoặc đó là một số lệnh không dùng nữa, không cần thiết phải được thực thi?
CẬP NHẬT
Như một số người dùng đã yêu cầu, đây là Lỗi nghiêm trọng mà tôi đã đề cập
Lỗi nghiêm trọng của PHP: Không thể khởi tạo lớp trừu tượng Magento \ Catalog \ Block \ Product \ View \ AbstractView trong *** / nhà cung cấp / magento / framework / ObjectManager / Factory / AbstractFactory.php trên dòng 93
Tôi đã tìm kiếm bất kỳ khối tùy chỉnh nào bằng Magento \ Catalog \ Block \ Product \ View \ AbstractView nhưng tôi chỉ tìm thấy nó trong các tệp bố cục, nó không có trong bất kỳ trình tạo lớp khối nào
Điều tôi không thể hiểu là: tại sao Magento lại ném Lỗi nghiêm trọng này bằng mã được biên dịch, nhưng nó hoạt động như một bùa mê mà không có mã được biên dịch