我正在从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');
}
}
错误Stacktrace
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
答案 0 :(得分:4)
接下来,只需向控制器添加方法,前缀为HTTP谓词 他们回应
所以:
class UserController extends BaseController {
public function getIndex()
{
// Would response to /user and /user/index
}
}
因此,在您的情况下,只需将showWelcome()
重命名为getWelcome()
即可。
答案 1 :(得分:1)
尝试更改您的路线:
Route::resource('home', 'HomeController');
更新:我的不好,我认为你想要一个足智多谋的控制器,如下所述:http://four.laravel.com/docs/controllers#resource-controllers
对于“普通”RESTful控制器,juco的回答似乎是正确的。
如果您需要基本控制器,可以使用它来对应您的控制器方法:
Route::get('home', 'HomeController@showWelcome');