Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Forms 表单即服务不起作用_Forms_Symfony_Symfony 3.2 - Fatal编程技术网

Forms 表单即服务不起作用

Forms 表单即服务不起作用,forms,symfony,symfony-3.2,Forms,Symfony,Symfony 3.2,我在Symfony 3.2中遇到加载表单为服务的问题,我将自定义字段创建为: class ImageType extends AbstractType { private $path; /** * ImageType constructor. */ public function __construct($path) { $this->path = $path; } /** * @return

我在Symfony 3.2中遇到加载表单为服务的问题,我将自定义字段创建为:

class ImageType extends AbstractType
{
    private $path;

    /**
     * ImageType constructor.
     */
    public function __construct($path)
    {
        $this->path = $path;
    }

    /**
     * @return string
     */
    public function getParent()
    {
        return FileType::class;
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'image';
    }

    /**
     * @param OptionsResolver $resolver
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'image_name' => ''
        ));
    }

    /**
     * @param FormView $view
     * @param FormInterface $form
     * @param array $options
     */
    public function buildView(FormView $view, FormInterface $form, array $options)
    {
        $view->vars['image_name'] = $options['image_name'];
    }

    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        $builder
            ->setAttribute('image_name', $options['image_name'])
            ->addModelTransformer(new ImageTransformer($this->path));
    }
}
和service.yml:

services:
    app.form_image_type:
        class: AppBundle\Form\Type\ImageType
        arguments: ['%upload_directory%']
        tags: [form.type]
但当我运行代码时,我有一个错误:

FileLoader.php第118行中的2/2 FileLoaderLoadException: “tags”条目必须是/var/www/exammple.pl/app/config/services.yml中服务“app.form_image_type”的数组。检查你的YAML /var/www/example/app/config/services.yml中的语法 从“/var/www/example.pl/app/config/config.yml”导入。 YamlFileLoader.php第270行中的1/2 InvalidArgumentException: “tags”条目必须是/var/www/example.pl/app/config/services.yml中服务“app.form\u image\u type”的数组。检查你的YAML 语法

但根据文档,标签定义正确,因此是否解决了此问题?

请尝试以下代码:

tags:
   - { name: form.type }

查看3.2版本

您看到的是简化了标记语法的3.3文档。切换到3.2文档并遵循示例。