作曲家更新后表格出错
Error with forms after composer update
与 composer 更新后,我的表格出现了这个问题。
[2017-06-26 10:35:26] MicroCMS.CRITICAL: Symfony\Component\Form\Exception\UnexpectedTypeException: Expected argument of type "string", "MicroCMS\Form\Type\NewsletterType" given (uncaught exception) at S:\wamp\www\silex\vendor\symfony\form\FormFactory.php line 55 {"exception":"[object] (Symfony\Component\Form\Exception\UnexpectedTypeException(code: 0): Expected argument of type \"string\", \"MicroCMS\Form\Type\NewsletterType\" given at S:\wamp\www\silex\vendor\symfony\form\FormFactory.php:55)"} []
他向我要一个字符串,而这是他需要的对象。
我放了一个表格的代码,我都遇到了同样的问题:
<?php
namespace MicroCMS\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Validator\Constraints as Assert;
class NewsletterType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('email', EmailType::class, [
'label' => '',
'required' => true,
'attr' => ['autocomplete' => 'off'],
'constraints' => new Assert\Email(['checkMX' => true]),
]);
}
public function getName() {
return 'newsletter';
}
}
感谢您的帮助。
我认为您传递的是 FormType
对象而不是 FormType
class 名称。找到创建此表单的代码并将其更改为:
$app['form.factory']->create(\MicroCMS\Form\Type\NewsletterType::class
与 composer 更新后,我的表格出现了这个问题。
[2017-06-26 10:35:26] MicroCMS.CRITICAL: Symfony\Component\Form\Exception\UnexpectedTypeException: Expected argument of type "string", "MicroCMS\Form\Type\NewsletterType" given (uncaught exception) at S:\wamp\www\silex\vendor\symfony\form\FormFactory.php line 55 {"exception":"[object] (Symfony\Component\Form\Exception\UnexpectedTypeException(code: 0): Expected argument of type \"string\", \"MicroCMS\Form\Type\NewsletterType\" given at S:\wamp\www\silex\vendor\symfony\form\FormFactory.php:55)"} []
他向我要一个字符串,而这是他需要的对象。
我放了一个表格的代码,我都遇到了同样的问题:
<?php
namespace MicroCMS\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Validator\Constraints as Assert;
class NewsletterType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('email', EmailType::class, [
'label' => '',
'required' => true,
'attr' => ['autocomplete' => 'off'],
'constraints' => new Assert\Email(['checkMX' => true]),
]);
}
public function getName() {
return 'newsletter';
}
}
感谢您的帮助。
我认为您传递的是 FormType
对象而不是 FormType
class 名称。找到创建此表单的代码并将其更改为:
$app['form.factory']->create(\MicroCMS\Form\Type\NewsletterType::class