Итак, я видел похожие вопросы об этой ошибке, но ни один из ответов не помог мне, поэтому я решил опубликовать новый!
Я работаю над учебником по Symblog и испытываю проблемы с расширениями Twig в части 5. В настоящее время я получаю следующую ошибку:
ClassNotFoundException в строке AppKernel.php 20: Попытка загрузки
класс «BloggerBlogBundle» из пространства имен «Blogger \ BlogBundle». Ты
забыть выражение «использовать» для другого пространства имен?
Я действительно не думаю, что я пропускаю какие-либо операторы использования в AppKernel.php, и пытался добавить больше безрезультатно. Я видел обновление композитора, установку композитора, обновление php composer.phar и различные методы очистки кэша, предлагаемые в качестве возможных решений для этого, но ни один из них не помог мне.
Вот мой AppKernel.php:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
use Blogger\BlogBundle\Twig\Extensions;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new Blogger\BlogBundle\BloggerBlogBundle(),
new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle(),
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
public function init()
{
date_default_timezone_set( 'America/Los_Angeles' );
parent::init();
}
}
Любая помощь или понимание того, что может происходить здесь, будет принята с благодарностью. Спасибо!
А-а-а, BloggerBlogBundle.php не было. С моей стороны это глупо, но учебник, за которым я следовал, никогда не говорил о том, чтобы сделать его, поэтому я подумал, что он пытается получить доступ к BloggerBlogExtension.php из каталога Blogger / BlogBundle. Добавлен файл BloggerBlogBundle.php со следующим текстом, и я снова в работе!
<?php
namespace Blogger\BlogBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class BloggerBlogBundle extends Bundle
{
}
Спасибо!
Других решений пока нет …