【发布时间】:2016-12-02 05:08:36
【问题描述】:
由于我使用某些类的方式,我无法进行服务注入,但我需要访问其中的服务容器。
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
【问题讨论】:
-
解释你是如何使用某些类而不能够进行服务注入的。原则上,服务注入总是可行的。
-
因为我在控制器中将这些类实例化为变量,并使用 __construct 将变量传递给这些类。