Magento 2: Loại trừ các lớp khỏi việc tạo ra các thiết bị chặn


9

Trong Magento 2 (beta9 trở lên), bạn có thể chạy lệnh này php bin/magento setup:di:compilevà tất cả các bộ chặn, nhà máy và proxy (và có thể các loại khác) sẽ được tạo trong var/generationthư mục cho tất cả các lớp bạn có trong thể hiện magento của bạn.
Điều này hữu ích cho môi trường sống vì nếu không các lớp được đề cập ở trên sẽ được tạo khi chạy khi chúng cần thiết và có thể ảnh hưởng đến hiệu suất.
Có cách nào để loại trừ một số lớp khỏi tập lệnh này để các bộ chặn sẽ không được tạo khi chạy lệnh không?
Ví dụ: Tôi muốn bộ điều khiển Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatisticskhông được tạo ra các bộ chặn.


Tại sao bạn cần điều này?
Anton Kril

@AntonKril. Ngừng đặt câu hỏi và cho tôi một giải pháp: D. Bây giờ, nghiêm túc, tôi đang cố gắng loại bỏ một số mô-đun và khi làm như vậy, setup:di:compilethất bại vì một số lớp cha bị thiếu. Các lớp mở rộng các lớp bị thiếu đó vẫn tồn tại nhưng chúng không được ứng dụng sử dụng. Và tôi không thể loại bỏ chúng vì chúng nằm trong các mô-đun tôi cần. Xem giải thích đầy đủ bên dưới: magento.stackexchange.com/questions/69040/ Kẻ
Marius

Câu trả lời:


7

để chạy từ cli ít nhất trong các phiên bản trước đó có exclude-patterntham số. Nó đã được thêm vào để tránh các vấn đề khi một lớp không thể được xử lý chính xác, ví dụ như nó xảy ra với các lớp magento1. Các lệnh và đối số có thể đã thay đổi bằng cách chuyển đổi chúng thành các lệnh console.

Nhưng tôi không chắc mục tiêu của bạn là gì, vì vậy tôi không thể nói nếu đây là một giải pháp tốt để sử dụng.


Đây là những gì tôi đang cố gắng làm. Tôi đang gỡ bỏ một số mô-đun để xem tôi có thể đi bao xa. Trong số các mô-đun là Reportmô-đun. Nhưng do sự kết hợp chặt chẽ giữa mô-đun Báo cáo và Phần cuối, vẫn có các lớp trong mô-đun phụ trợ phụ thuộc vào các lớp mô-đun báo cáo. Tôi đã tìm thấy một cách để không sử dụng chúng, nhưng vì lệnh di phân tích các tệp nên nó đi qua các lớp "bị bỏ qua" và cố gắng xây dựng các bộ chặn. Nhưng điều này không thành công vì lớp cha Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatisticschẳng hạn, không tồn tại. Vì vậy, tôi cần một cách để loại trừ điều này.
Marius

Nó có đường nối mà trong cách tiếp cận lệnh console không có exclude-patternparam. Hoặc ít nhất là tôi đã không tìm thấy nó. Tôi nhìn vào DiCompileCommand::configure.
Marius

Tôi thấy, bạn có thể thêm một Vấn đề yêu cầu chức năng này đề cập đến PR này: github.com/magento/magento2/pull/986 hoặc bạn sử dụng bộ thay đổi ở đó để kiểm tra cách thêm tạm thời cho bản dựng cục bộ của bạn.
Flyingmana 27/05/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.