Hiện tại tôi đã có một cá thể chứa Symfony2 DI sẵn sàng với một dịch vụ và tất cả phụ thuộc của nó. Cho phép nói ví dụ tôi có một lớp Car và nó có Engine và Lights là phụ thuộc. Trong thiết lập hiện tại của tôi, cả hai phụ thuộc này đều được tạo tự động thông qua phép setter khi đối tượng Car được tạo, nhưng nó có thể rất tốt là đối tượng Car của tôi không cần đèn trong khoảng thời gian này. để tạo ra một thể hiện của sự phụ thuộc này.Tải phụ thuộc lười biếng với symfony DI
Có cách nào để đạt được điều này trong Symfony DI không? Vì vậy, chỉ tạo ra một thể hiện của đối tượng Lights khi cần thiết? Đoán của tôi là nó sẽ là một số loại thực hiện Proxy như Doctrine có nhưng theo như tôi đã thấy nó không tồn tại trong Symfony DI.
Trong trường hợp của tôi, tôi đang triển khai thành phần DI độc lập vào một dự án ZF cũ hơn. Tôi đã có một số lớp Service (AdminService, UserService, ...) mà tất cả đều có các phụ thuộc như DBAL, ACL, vv .. Đây là những yêu cầu thực tế cho lớp dịch vụ hoạt động chính xác. Mặt khác, có các trường hợp như Biểu mẫu và Mô hình chỉ được sử dụng trong một số phương thức của ServiceClass. Đây là những phụ thuộc "có điều kiện". Tôi nghĩ rằng nó cũng khá nhiều không thể trừ khi Symfony DI có một hệ thống proxy như học thuyết sử dụng cho các thực thể của nó. – ChrisR