【问题标题】:Symfony Form Type from 2.5.9 no longer recognized, although still using 2.5.9来自 2.5.9 的 Symfony 表单类型不再被识别,尽管仍在使用 2.5.9
【发布时间】:2017-10-26 09:19:07
【问题描述】:

我正在使用 Symfony 2.5.9,最近运行了 composer update。在带有表单的页面上,我现在得到:

InvalidArgumentException:无法加载类型“Symfony\Component\Form\Extension\Core\Type\TextType”(0)

在更新之前,该页面呈现良好。表格是

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
use Symfony\Component\Yaml\Yaml;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormError;

class TaskType extends AbstractType {

  public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
                ->add('name')
                ->add('info', 'text', array());
    }

  public function getName() {
        return 'myapp_mybundle_tasktype';
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver) {
        $resolver->setDefaults(array(
            'data_class' => 'MyApp\MyBundle\Entity\Task'
        ));
    }

}

阅读其他一些posts,看来这是因为在 Symfony 3 中不再使用上述创建表单元素类型的方法。但我现在需要使用 2.5.9。

即使我从主分支复制并粘贴 composer.json(即不受影响且正常工作)并运行 composer update,我也会收到相同的错误。

我还尝试从供应商文件夹中删除所有内容并刷新两个缓存,然后重新运行composer update,但页面加载时出现相同的错误。怎么会这样?而不是使用解决方法,有什么原因导致此要求更改?我仍然在开发工具栏中看到 Symfony 2.5.9。

作曲家文件:

{
    "autoload": {
        "psr-0": {
            "": "src/"
        },
        "classmap": ["vendor/MediovskiTechnology/php-crontab-manager/src/"]
    },
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.5.9",
        "symfony/console": "2.5.*",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "1.2",
        "twig/extensions": "1.1.*@dev",
        "symfony/assetic-bundle": "2.3.*",
        "symfony/swiftmailer-bundle": "2.3.7",
        "symfony/monolog-bundle": "2.6.*",
        "sensio/distribution-bundle": "3.0.*",
        "sensio/framework-extra-bundle": "3.0.*",
        "sensio/generator-bundle": "2.3.*",
        "jms/security-extra-bundle": "1.5.*",
        "jms/di-extra-bundle": "1.4.*",
        "kriswallsmith/assetic": "~1.1",
        "phpoffice/phpexcel": "1.8.0",
        "doctrine/doctrine-fixtures-bundle": "dev-master",
        "doctrine/data-fixtures": "1.0.*@dev",
        "kriswallsmith/buzz": "dev-master",
        "mlpz/postmark-bundle": "dev-master",
        "friendsofsymfony/jsrouting-bundle": "2.0.*@dev",
        "jms/serializer-bundle": "*",
        "monolog/monolog": "1.10.0",
        "querypath/querypath": "dev-master",
        "MediovskiTechnology/php-crontab-manager": "0.9.3",
        "mtdowling/cron-expression": "1.1.0",
        "drak/native-session": "*",
        "egulias/email-validator": "~1.2",
        "swiftmailer/swiftmailer": "5.2.1",
        "twilio/sdk": "^5.4",
        "hybridauth/hybridauth": "2.6.0",
        "symfony/doctrine-bridge": "~2.7"
    },
    "scripts": {
        "post-install-cmd": [
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap"
        ],
        "post-update-cmd": [
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap"
        ]
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web"
    }
}

【问题讨论】:

    标签: symfony composer-php


    【解决方案1】:

    我通过更改解决了这个问题

    "doctrine/doctrine-fixtures-bundle": "dev-master",
    

    "doctrine/doctrine-fixtures-bundle": "2.3.0",
    

    【讨论】:

      猜你喜欢
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 2018-03-22
      相关资源
      最近更新 更多