由於我使用某些類的方式,我無法進行服務注入,但我需要訪問其中的服務容器。在控制器外部訪問容器但無法注入服務
namespace DocumentsUploadSystem;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerAwareTrait;
class DocumentsUpload implements ContainerAwareInterface
{
use ContainerAwareTrait;
public function getData()
{
var_dump($this->container);
}
}
如果我像這樣從控制器調用此方法。
use DocumentsUploadSystem\DocumentsUpload
...
$x = new DocumentsUpload($request)->getData();
和我沒有得到任何錯誤,但容器回來爲空。這是實施ContainerAwareInterface的錯誤方法嗎?我正在使用Symfony 3.1
解釋如何使用某些類與您一起做無法進行服務注入。原則上,服務注入總是可能的。 – inaliahgle
,因爲我在控制器中將這些類實例化爲一個變量,並使用__construct將變量傳遞給這些類。 – user1529918