You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Imagine that you are working in your Symfony app and see this error:
You will probably check the class name, class dir, class namespace ... everything is correct, so you double check everything and are careful about the spelling ... but nothing looks wrong.
And that's OK, because there's nothing wrong with that. The real problem is that there is a PHP syntax error in your class (e.g. a missing ; at the end of some statement).
This is really confusing and we should fix it.
How to reproduce
Create a new Symfony app (symfony new my_project), create this controller and load the app:
<?phpnamespaceApp\Controller;
useSymfony\Component\HttpFoundation\Response;
classDefaultController
{
publicfunctionindex()
{
// the following line is missing the ending ';' on purpose to trigger the errorreturnnewResponse('foo')
}
}
Additional context
I'm using Symfony 5.0.4 and PHP 7.4.2. This is the full error trace:
Symfony\Component\Config\Exception\LoaderLoadException:
Expected to find class "App\Controller\DefaultController" in file "my_project/src/Controller/DefaultController.php" while importing services from resource "../src/*", but it was not found! Check the namespace prefix used with the resource in my_project/config/services.yaml (which is loaded in resource "my_project/config/services.yaml").
at my_project/vendor/symfony/config/Loader/FileLoader.php:173
at Symfony\Component\Config\Loader\FileLoader->doImport('my_project/config/services.yaml', null, false, null)
(my_project/vendor/symfony/config/Loader/FileLoader.php:97)
at Symfony\Component\Config\Loader\FileLoader->import('my_project/config/services.yaml')
(my_project/vendor/symfony/dependency-injection/Loader/FileLoader.php:64)
at Symfony\Component\DependencyInjection\Loader\FileLoader->import('my_project/config/services.yaml')
(my_project/vendor/symfony/dependency-injection/Loader/GlobFileLoader.php:27)
at Symfony\Component\DependencyInjection\Loader\GlobFileLoader->load('my_project/config/{services}.{php,xml,yaml,yml}', 'glob')
(my_project/vendor/symfony/config/Loader/DelegatingLoader.php:40)
at Symfony\Component\Config\Loader\DelegatingLoader->load('my_project/config/{services}.{php,xml,yaml,yml}', 'glob')
(my_project/src/Kernel.php:42)
at App\Kernel->configureContainer(object(ContainerBuilder), object(DelegatingLoader))
(my_project/vendor/symfony/framework-bundle/Kernel/MicroKernelTrait.php:81)
at App\Kernel->Symfony\Bundle\FrameworkBundle\Kernel\{closure}(object(ContainerBuilder))
(my_project/vendor/symfony/dependency-injection/Loader/ClosureLoader.php:38)
at Symfony\Component\DependencyInjection\Loader\ClosureLoader->load(object(Closure), null)
(my_project/vendor/symfony/config/Loader/DelegatingLoader.php:40)
at Symfony\Component\Config\Loader\DelegatingLoader->load(object(Closure))
(my_project/vendor/symfony/framework-bundle/Kernel/MicroKernelTrait.php:84)
at App\Kernel->registerContainerConfiguration(object(DelegatingLoader))
(my_project/vendor/symfony/http-kernel/Kernel.php:638)
at Symfony\Component\HttpKernel\Kernel->buildContainer()
(my_project/vendor/symfony/http-kernel/Kernel.php:544)
at Symfony\Component\HttpKernel\Kernel->initializeContainer()
(my_project/vendor/symfony/http-kernel/Kernel.php:126)
at Symfony\Component\HttpKernel\Kernel->boot()
(my_project/vendor/symfony/http-kernel/Kernel.php:186)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(my_project/public/index.php:25)
Symfony\Component\DependencyInjection\Exception\InvalidArgumentException:
Expected to find class "App\Controller\DefaultController" in file "my_project/src/Controller/DefaultController.php" while importing services from resource "../src/*", but it was not found! Check the namespace prefix used with the resource.
at my_project/vendor/symfony/dependency-injection/Loader/FileLoader.php:206
at Symfony\Component\DependencyInjection\Loader\FileLoader->findClasses('App\\', '../src/*', array('../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'))
(my_project/vendor/symfony/dependency-injection/Loader/FileLoader.php:99)
at Symfony\Component\DependencyInjection\Loader\FileLoader->registerClasses(object(Definition), 'App\\', '../src/*', '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}')
(my_project/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php:611)
at Symfony\Component\DependencyInjection\Loader\YamlFileLoader->parseDefinition('App\\', array('resource' => '../src/*', 'exclude' => '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'), 'my_project/config/services.yaml', array('autowire' => true, 'autoconfigure' => true))
(my_project/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php:233)
at Symfony\Component\DependencyInjection\Loader\YamlFileLoader->parseDefinitions(array('parameters' => null, 'services' => array('App\' => array('resource' => '../src/*', 'exclude' => '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'), 'App\Controller\' => array('resource' => '../src/Controller', 'tags' => array('controller.service_arguments')))), 'my_project/config/services.yaml')
(my_project/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php:153)
at Symfony\Component\DependencyInjection\Loader\YamlFileLoader->load('my_project/config/services.yaml', null)
(my_project/vendor/symfony/config/Loader/FileLoader.php:158)
at Symfony\Component\Config\Loader\FileLoader->doImport('my_project/config/services.yaml', null, false, null)
(my_project/vendor/symfony/config/Loader/FileLoader.php:97)
at Symfony\Component\Config\Loader\FileLoader->import('my_project/config/services.yaml')
(my_project/vendor/symfony/dependency-injection/Loader/FileLoader.php:64)
at Symfony\Component\DependencyInjection\Loader\FileLoader->import('my_project/config/services.yaml')
(my_project/vendor/symfony/dependency-injection/Loader/GlobFileLoader.php:27)
at Symfony\Component\DependencyInjection\Loader\GlobFileLoader->load('my_project/config/{services}.{php,xml,yaml,yml}', 'glob')
(my_project/vendor/symfony/config/Loader/DelegatingLoader.php:40)
at Symfony\Component\Config\Loader\DelegatingLoader->load('my_project/config/{services}.{php,xml,yaml,yml}', 'glob')
(my_project/src/Kernel.php:42)
at App\Kernel->configureContainer(object(ContainerBuilder), object(DelegatingLoader))
(my_project/vendor/symfony/framework-bundle/Kernel/MicroKernelTrait.php:81)
at App\Kernel->Symfony\Bundle\FrameworkBundle\Kernel\{closure}(object(ContainerBuilder))
(my_project/vendor/symfony/dependency-injection/Loader/ClosureLoader.php:38)
at Symfony\Component\DependencyInjection\Loader\ClosureLoader->load(object(Closure), null)
(my_project/vendor/symfony/config/Loader/DelegatingLoader.php:40)
at Symfony\Component\Config\Loader\DelegatingLoader->load(object(Closure))
(my_project/vendor/symfony/framework-bundle/Kernel/MicroKernelTrait.php:84)
at App\Kernel->registerContainerConfiguration(object(DelegatingLoader))
(my_project/vendor/symfony/http-kernel/Kernel.php:638)
at Symfony\Component\HttpKernel\Kernel->buildContainer()
(my_project/vendor/symfony/http-kernel/Kernel.php:544)
at Symfony\Component\HttpKernel\Kernel->initializeContainer()
(my_project/vendor/symfony/http-kernel/Kernel.php:126)
at Symfony\Component\HttpKernel\Kernel->boot()
(my_project/vendor/symfony/http-kernel/Kernel.php:186)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(my_project/public/index.php:25)
The text was updated successfully, but these errors were encountered:
Symfony version(s) affected: all
Description
Imagine that you are working in your Symfony app and see this error:
You will probably check the class name, class dir, class namespace ... everything is correct, so you double check everything and are careful about the spelling ... but nothing looks wrong.
And that's OK, because there's nothing wrong with that. The real problem is that there is a PHP syntax error in your class (e.g. a missing
;
at the end of some statement).This is really confusing and we should fix it.
How to reproduce
Create a new Symfony app (
symfony new my_project
), create this controller and load the app:Additional context
I'm using Symfony 5.0.4 and PHP 7.4.2. This is the full error trace:
The text was updated successfully, but these errors were encountered: