在Laravel 4中,路由到Controller失败


Routing to Controller fails in Laravel 4

我试图在Laravel 4中注册我的控制器。在routes.php我有:

Route::get("/","HomeController@index");
Route::get("search","SearchController@index");

现在,主控制器路由很好,但搜索控制器路由给了我一个错误:

ReflectionException: Class SearchController does not exist
然而,类确实存在。我甚至尝试创建另一个示例控制器,但无济于事,因为出现了相同的消息。

名称在L4中区分大小写。方法名应该完全匹配(例如;getIndex,而不是index()).

同样,因为它使用了编译器包,你需要运行: php composer dump-autoload 检测任何新的类/控制器

我有同样的问题,作曲家dump-autoload没有解决它。

我意识到我的类文件没有在vendor/composer/autoload_classmap.php中声明。

我清除了缓存文件夹的内容。在Linux中,这个文件夹是:~/.composer/缓存在Windows 7中:C:'Users''AppData'Local'Composer'files如果bootstrap/compiled.php存在,也应该删除它,或者运行:php artisan clear-compiled .

在此之后,我删除了composer。锁定供应商文件夹并运行:composer install。这就把我的类文件放到了autoload_classmap.php中,然而ReflectionException仍然被抛出…

作为最后的尝试,我从已经在使用的项目中复制并重命名了另一个控制器,这解决了问题。