1

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 文档。

4

2 回答 2

3

该方法showWelcome不是 RESTful 的,因此它有一个直接映射到它的路由。如果您希望您的方法HomeController以它们响应的 HTTP 动词为前缀,例如get, post, put,那么您需要使用Route::controller.

Route::controller('/', 'HomeController');

然后,您应该将该方法重命名为,getWelcome然后通过点击 浏览到它localhost/yourapp/welcomegetIndex如果你想打,你会使用localhost/yourapp

于 2013-06-04T01:51:05.993 回答
2

它已经是 RESTful 了,你的路线上只是有一个小错误,试试这个:

Route::get('/', array('uses'=>'HomeController@showWelcome'));

在你必须拥有的用途中ControllerName@methodName,所以它showWelcome在你的情况下,而不仅仅是Welcome.

此外,您可以将其更改为 Home,但您最好坚持使用 HomeController(或 AnythingController)这个名称,除非您有充分的理由。

于 2013-06-04T01:46:00.383 回答