深切哀悼!
我在执行 CRUD 命令时出错,我在控制台中看到此错误。
Fatal error: Class 'Doctrine\Bundle\DoctrineBundle\Mapping\MetadataFactory'
not found in [route-to-project]\vendor\sensio\generator-bundle\Sensio\Bundle
\GeneratorBundle\Command\GenerateDoctrineCommand.php on line 36
searching the web我发现升级 Doctrine 与 sensigenerator bundle 不兼容,应该回滚到以前的版本。
但我不能这样做,因为我安装了几个与早期版本的学说不兼容的 bundle 。
我有解决方案还是必须手动创建 Controller ?
谢谢!
这是我的composer.json
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.4.*",
"doctrine/orm": "2.*",
"doctrine/doctrine-bundle": "1.3.*@dev",
"twig/extensions": "1.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "~1.3",
"sonata-project/cache-bundle" : "dev-master",
"sonata-project/intl-bundle" : "dev-master",
"sonata-project/admin-bundle": "~2.1",
"sonata-project/doctrine-orm-admin-bundle": "2.*",
"sonata-project/easy-extends-bundle": "2.*",
"sonata-project/user-bundle": "2.2.*@dev",
"sonata-project/block-bundle": "~2.2,>=2.2.7",
"sonata-project/core-bundle": "~2.2@dev",
"knplabs/knp-menu-bundle": ">=1.1.0,<3.0.0",
"knplabs/knp-menu": ">=1.1.0,<3.0.0",
"sonata-project/jquery-bundle": "1.8.*",
"sonata-project/exporter": "1.3.3",
"whiteoctober/tcpdf-bundle":"dev-master",
"knplabs/knp-snappy-bundle": "*"
},
"scripts": {
"post-install-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"minimum-stability": "stable",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.3-dev"
}
}
}
最佳答案
我找到了解决办法!只需在vendor\doctrine\doctrine-bundle\Doctrine\DoctrineBundle\Mapping 中创建一个MetadataFactory.php 文件,并使用MetadataFactory 类
关于crud - Symfony 2 CRUD 命令出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23665549/