[英]Controller Route not found in Laravel 4
我正在从L3迁移到L4。 注册默认L4安装随附的HomeController
控制器时,尝试转到www.domain.com/home
页面会给我ResourceNotFound
异常。 我做了一个composer dumpautoload
但没有帮助。
我错过了额外的步骤吗?
routes.php文件
Route::controller('home', 'HomeController');
控制器/ HomeController.php
<?php
class HomeController extends BaseController {
public function showWelcome()
{
return View::make('hello');
}
}
错误堆栈跟踪
NotFoundHttpException:
in /var/www/l4/vendor/laravel/framework/src/Illuminate/Routing/Router.php line 1338
at Router->handleRoutingException(object(ResourceNotFoundException)) in /var/www/l4/vendor/laravel/framework/src/Illuminate/Routing/Router.php line 992
at Router->findRoute(object(Request)) in /var/www/l4/vendor/laravel/framework/src/Illuminate/Routing/Router.php line 956
at Router->dispatch(object(Request)) in /var/www/l4/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line 463
at Application->dispatch(object(Request)) in /var/www/l4/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line 448
at Application->run() in /var/www/l4/public/index.php line 51
根据文档 :
接下来,只需将方法添加到您的控制器中,并以它们响应的HTTP动词作为前缀
所以:
class UserController extends BaseController {
public function getIndex()
{
// Would response to /user and /user/index
}
}
因此,在您的情况下,只需将showWelcome()
重命名为getWelcome()
就足够了。
尝试将路线更改为此:
Route::resource('home', 'HomeController');
更新:不好,我以为您想要一个资源丰富的控制器,如下所述: http : //four.laravel.com/docs/controllers#resource-controllers
对于“正常的” RESTful控制器,juco的答案似乎是正确的。
如果需要基本控制器,则可以使用它来对应于您的控制器方法:
Route::get('home', 'HomeController@showWelcome');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.