我的所有网址都有这个返回symfony错误:
" ClassNotFoundException:尝试加载类" DoctrineFixturesBundle"来自命名空间" Doctrine \ Bundle \ FixturesBundle"在C:\ dev \ Apache2.4.6 \ htdocs \ MySite \ app \ AppKernel.php第23行。你需要"使用"它来自另一个名称空间?"
当我修改config.yml(part doctrine orm)以解决其他问题但是它没有解决时,会出现此错误。确实是我在这个文件中的更改并重新运行我的网站,但现在没有正常运行。我随时随地都有这个错误。
我在这里复制我的代码,但是回答简单问题:
- 你是否在AppKernel.php 中添加了这一行:$ bundles [] = new Doctrine \ Bundle \ FixturesBundle \ DoctrineFixturesBundle(); ? 回复:是
- 你有安装夹具包吗? 响应:是
- 你有安装/更新和自我更新作曲家吗? 响应:是
- 你在DB中有加载夹具吗? 响应:是(运行完美)
- 你有清理缓存吗? 响应:是
我的所有灯具引擎在此生成错误之前正确运行。
AppKernel.php
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
composer.json
"require": {
"php": ">=5.3.3",
"symfony/symfony": "~2.4",
"doctrine/orm": "2.4.2",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~2.3",
"sensio/framework-extra-bundle": "~3.0",
"sensio/generator-bundle": "~2.3",
"incenteev/composer-parameter-handler": "~2.0",
"doctrine/doctrine-fixtures-bundle": "dev-master"
},
config.yml
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
感谢您的宝贵帮助
答案 0 :(得分:2)
非常奇怪的行为,因为它是自动解决的。 经过大量缓存:清除,手动删除缓存,在AppKernel.php中注释/退出这个问题解决。
但是一个新的开始......
现在这是我的开发工具栏symfony,它不会运行。
我认为为这个新问题创建一个新主题,不要混淆这个问题。
答案 1 :(得分:1)
我在
上遇到了同样的错误new Application\Extended\SonataMediaBundle\ExtendedSonataMediaBundle()
在我的情况下,我修复 composer.json 文件并运行 composer update 后又重新开始工作。为了正确,我第一次启动“composer update”没有composer.json修复并且错误没有消失,所以“composer update”本身不是解决方案,关键是 - 是composer.json文件修复。
这甚至更奇怪,因为它是错误的修复 - 我在psr-0自动加载定义中删除了斜杠,所以:
"autoload": {
"psr-0": { "/": "src/" }
},
我得到了:
"autoload": {
"psr-0": { "": "src/" }
},
只有一个斜线! 这是错误的修复,因为作曲家建议不使用空命名空间:
$ composer validate
./composer.json is valid, but with a few warnings
See https://getcomposer.org/doc/04-schema.md for details on the schema
Defining autoload.psr-0 with an empty namespace prefix is a bad idea for performance
注1:它在前几天使用斜杠并且今天停止工作,非常奇怪。项目在两个工作状态之间没有受到影响!
注2:composer.json文件的初始(收件箱内)状态没有斜线,我在两周前添加它以抑制作曲家的不满。