【发布时间】:2019-11-08 18:26:08
【问题描述】:
我有一个使用依赖注入的类,还有另外两个类,这很好用。但是我想在控制器中实例化 Merchant 类并传递一个 id 。我没有得到的是构造函数期望更多的值'CurrencyConverter'和'TransactionTable'那么我该如何完成代码? ?,我不需要通过。所以我不清楚如何使它工作,谢谢
模型类
namespace TransactionBundle\Model;
class Merchant
{
public $_transactions;
public $_currencyConverter;
public $_id;
public function __construct($id,CurrencyConverter
$currencyConverter,TransactionTable $transactions)
{
$this->_transactions = $transactions;
$this->_currencyConverter = $currencyConverter;
$this->_id = $id;
}
public function getTransactions() {
$this->_currencyConverter->convert();
$this->_transactions->getData();
}
}
trying to instantiate in the controller
$merchant = new Merchant(2,?,?);
$results = $merchant->getTransactions();
【问题讨论】:
-
新操作员对 Symfony di 容器一无所知。您必须自己传递依赖项。您可能想要的是定义一个 MerchantFactory 服务并将其注入您的控制器。然后你可能会做类似 $merchant = $merchantFactory->create($id);
标签: symfony dependency-injection