2012-07-13 36 views
5

Tôi đang xem Symfony 2 docs liên quan đến Dependency Injection và không thể tìm thấy tham chiếu đến autowiring. Tôi đã tìm thấy một số bundle that offers some of this functionality nhưng vẫn đang ở giai đoạn thử nghiệm và dường như được gắn với chú thích (đúng với tôi nếu tôi sai).Symfony 2 Dependency Injection & autowiring

Điều tôi đang tìm kiếm là một đối tượng (chẳng hạn như vùng chứa dịch vụ), có thể tiêm phụ thuộc vào dịch vụ của tôi, thông qua tiêm setter.

Ví dụ, tôi sẽ định nghĩa một dịch vụ:

class Service { 
    /** 
    * @var \PDO 
    */ 
    protected $pdo; 

    /** 
    * @param \PDO $pdo 
    * @Inject 
    */ 
    public function setPDO(\PDO $pdo) { 
     $this->pdo = $pdo; 
    } 
} 

Và sau đó, tôi có thể sử dụng thùng chứa dịch vụ giả thuyết này để tiêm phụ thuộc vào dịch vụ, thậm chí nếu điều này đã được tạo ra bên ngoài container:

$service = new Service(); 
// ... 

$container->inject($service); 

Có vùng chứa DI nào có thể tự động phụ thuộc theo cách này không?

Trả lời

-1

Xem chú thích @InjectParams từ JMSDiExtraBundle.

+2

Symfony đã có giải pháp gốc. –

+1

Thực tế là tôi đã trả lời câu hỏi này hơn 3 năm trước không quan trọng, phải không? –

+1

Nó chỉ dành cho những người mới đến, vì vậy họ biết rằng Symfony đã hỗ trợ bản địa. Và họ không phải sử dụng một số bó. Tôi cố gắng quảng bá câu trả lời có liên quan nhất đến nay. –

Các vấn đề liên quan