Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Symfony 3中将表单定义为服务_Php_Forms_Service_Symfony - Fatal编程技术网

Php 在Symfony 3中将表单定义为服务

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

我需要将我的表单定义为一个服务,这样我就可以向其中注入一些依赖项(例如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中调用并定义

我有一个作为服务注册的表单:

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}]