Fatal error: Class not found in AppKernel.php

17,091

Solution 1

you need to change your composer.json I think with psr-4 autoload like this:

"autoload": {
        "psr-4": {
            "": "src/"
        },
        "classmap": [
            "app/AppKernel.php",
            "app/AppCache.php"
        ]
    }

After you need to launch inside your console:

composer dump-autoload

Solution 2

With Symfony 2.8, I had to delete app/cache folder manually

Share:
17,091
David Copano Jiménez
Author by

David Copano Jiménez

Updated on June 04, 2022

Comments

  • David Copano Jiménez
    David Copano Jiménez over 1 year

    I have generated a new Bundle (ImgBundle) following the Symfony documentation, but when reloading the app in the browser it does not recognize the main class of the bundle.

    Here is my ImgBundle.php:

    <?php
    
    namespace ImgBundle;
    
    use Symfony\Component\HttpKernel\Bundle\Bundle;
    
    class ImgBundle extends Bundle
    {
    }
    

    AppKernel.php:

    <?php
    
    use Symfony\Component\HttpKernel\Kernel;
    use Symfony\Component\Config\Loader\LoaderInterface;
    
    class AppKernel extends Kernel
    {
        public function registerBundles()
        {
            $bundles = [
            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 ImgBundle\ImgBundle(),
        ];
    
        if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
            $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
            $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
            $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
    
            if ('dev' === $this->getEnvironment()) {
                $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
                $bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
            }
        }
    
        return $bundles;
    }
    
    public function getRootDir()
    {
        return __DIR__;
    }
    
    public function getCacheDir()
    {
        return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();
    }
    
    public function getLogDir()
    {
        return dirname(__DIR__).'/var/logs';
    }
    
    public function registerContainerConfiguration(LoaderInterface $loader)
    {
        $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
    }
    

    }

    Here is the error:

    1

    Thanks in advance