Heloo,我第一次制作一个laraver 4应用程序和一些我还不明白的东西,其中一个是控制器:
在laraver 3,我可以做类似的事情:
Route::get('/',array('uses'=>'home@index'));
并在控制器处:
public function get_index(){
return 'hello';
}
但现在在laravel 4我有类似的东西:
class HomeController extends BaseController {
public function showWelcome()
{
return View::make('home.main');
}
}
首先在此文件中我可以将HomeController更改为仅限Home吗? 我怎么能让控制器安静下来?
在路线上:
Route::get('/', array('uses'=>'HomeController@Welcome'));
我怎么称呼它,它不起作用。
根本不了解laravel 4文档。
答案 0 :(得分:3)
方法showWelcome
不是RESTful,因此它有一个直接映射到它的路由。如果您希望HomeController
上的方法以他们响应的HTTP谓词作为前缀,例如get
,post
,put
,那么您需要注册控制器Route::controller
。
Route::controller('/', 'HomeController');
然后,您应该将方法重命名为getWelcome
,然后按localhost/yourapp/welcome
浏览到该方法。如果您想点击getIndex
,则可以使用localhost/yourapp
。
答案 1 :(得分:2)
它已经是RESTful,你的路线上只有一个小错误,试试这个:
Route::get('/', array('uses'=>'HomeController@showWelcome'));
在用途中,您必须ControllerName@methodName
,因此在您的情况下为showWelcome
,而不仅仅是Welcome
。
此外,您可以将其更改为Home,但最好坚持使用名称HomeController(或AnythingController),除非您有充分的理由。