Php 在Symfony 3中将表单定义为服务
我需要将我的表单定义为一个服务,这样我就可以向其中注入一些依赖项(例如EntityManager)。我继续学习教程,但结果是 可捕获的致命错误:传递给MyFirm\Form\ItemAmountType::\uu construct()的参数1必须是MyFirm\Form\EntityManager的一个实例,没有给定,在第85行的/var/www/html/ordering system/vendor/symfony/symfony/src/symfony/Component/Form/FormRegistry.php中调用并定义 我有一个作为服务注册的表单:Php 在Symfony 3中将表单定义为服务,php,forms,service,symfony,Php,Forms,Service,Symfony,我需要将我的表单定义为一个服务,这样我就可以向其中注入一些依赖项(例如EntityManager)。我继续学习教程,但结果是 可捕获的致命错误:传递给MyFirm\Form\ItemAmountType::\uu construct()的参数1必须是MyFirm\Form\EntityManager的一个实例,没有给定,在第85行的/var/www/html/ordering system/vendor/symfony/symfony/src/symfony/Component/Form/For
services:
my_firm.form.item_amount:
class: MyFirm\Form\ItemAmountType
arguments: [ "@doctrine.orm.entity_manager", "@price_list_manager" ]
然后,我在controller中创建表单:
$itemAmount = new ItemAmount();
$form = $this->createForm( ItemAmountType::class, $itemAmount );
表格的构造:
class ItemAmountType extends AbstractType {
private $em;
private $priceListManage;
public function __construct(EntityManager $entityManager, PriceListManager $priceListManager) {
$this->em = $entityManager;
$this->priceListManage = $priceListManager;
}
//...
}
问题出在哪里?我把表单标签忘在了
service:
tags: [{ name: form.type }]
您在服务中遗漏了表单标记:标记:[{name:form.type}]