【发布时间】:2019-01-05 11:49:37
【问题描述】:
我有这样的课,
use Doctrine\ORM\EntityManagerInterface;
class LoginTools {
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
在控制器中
$logTool = new LoginTools();
问题
autowire 是否应该自动将EntityManagerInterface 传递给LoginTools?
因为当我在没有传递参数的情况下调用LoginTools 类时,我得到了错误
Too few arguments to function App\Utils\LoginTools::__construct(), 0 passed exactly 1 expected
问候,
维克托。
【问题讨论】:
-
你的类 LoginTools 是一项服务吗?你在调用什么函数?看起来你调用了你不需要做的构造函数。
-
@Dirk J. Faber 我认为是这样,因为当我在 cmd 中执行时
php bin/console debug:autowiringApp\Utils\LoginTools显示在顶部。我正在实例化类LoginTools,所以在这个过程中会触发构造函数,对吗?$logTool = new LoginTools();
标签: php dependencies code-injection symfony4