ReflectionException: Class ClassName does not exist - Laravel
A composer dump-autoload
should fix it.
Perform a composer update
, then composer dump-autoload
.
If the above doesn't solve the problem, change the classmap
in your composer.json
file such that it contains the project-relative path to your php files:
"autoload-dev": {
"classmap": [
"tests/TestCase.php",
"database/seeds/UserTableSeeder.php" //include the file with its path here
]
}, /** ... */
and soon after, perform a composer dump-autoload
, and it should work now like a breeze!
Edit by @JMSamudio
If composer dump-autoload
is not found, just enable this option composer config -g -- disable-tls true
.
From my experience, this will show up most of the time when the class you are trying to call has some bugs and cannot be compiled. Check if the class that is not being reflected can be executed at its own.
I had this problem and I could solve it by doing php artisan config:cache
. The problem was that I had already run that command previously and later included some new seeder classes. The cached configurations didn't recognize the new classes. So running that command again worked.
If you see yourself making frequent changes to include new seeder classes then consider running php artisan config:clear
. This will enable you to make as many changes as you'd like and then after testing you can run config:cache
again to make things run optimally again.