2013-05-26 52 views

回答

1

你必須註冊之外,控制器類作爲您包的服務配置服務(我假定陽明配置)

services: 
    your_service_name: 
     class:  Your/NonController/Class 
     arguments: ['@service_you_want_to_inject'] 
現在

在你的類,你要使用的注射服務:

// Your/NonController/Class.php 
protected $myService; 

// your 'service_you_want_to_inject' will be injected here automatically 
public function __construct($my_service) 
{ 
    $this->myService = $my_service; 
} 

記住的依賴注入發生,你必須真正使用這個類作爲服務了 - 否則注射不會自動發生。

你現在可在控制器中新創建的服務照常:

// 'service_you_want_to_inject' will be automatically injected in the constructor 
$this->get('your_service_name');  

也有setter和財產注射但這不在這個問題的範圍...瞭解更多關於DI在Service Container symfony文檔的一章。

相關問題