The controller is existing, and the method ‘test‘ exist on ‘App\Http\Controllers\Admin\IndexController‘. But Laravel show me that there is no method on the controller, I don‘t know why. I have askd for help on the internet, but no one can help me. The error like pic1.
Now I show you my project folder and the files.
The namespace of the IndexController.php is right. And the method test is existed. But Laravel told me that Method does not exist... I don‘t know what happend!
Maybe you have the same trouble, now, I will give you a way to solve the problem. Then, let‘s go.
Look at this file.
There is a backup file in my project. I had edited the controller file after created the backup file. So the content of the two files is different. Initially, there is no problem. but when i execute the command "composer update"... Oh, my god!
Now, look at the directory vendor/composer, and open the file autoload_clappmap.php and autoload_static.php. Search IndexController in the two files.
In autoload_classmap.php:
In autoload_static.php:
Look at the red box. The real file is not IndexController.php, but is the backup file. I have said, the two file is different. The method test does not on IndexController.bk.php. So Laravel show me the error.
We have known why the problem happend. Now, we should solve it.
1) Update the ‘IndexController.bk.php‘ to ‘IndexController.php‘ that in the autoload_classmap.php and autoload_static.php.
2) Or you can delete the backup file or move it to other directory, then do 1).
3) Or you can delete the backup file or move it to other directory. Then execute the command composer update. But it is slow...
REPORT:
Developing good programming habits can avoid many mistakes.