Laravel 4控制器和路线

时间:2013-06-04 01:42:42

标签: php laravel laravel-4

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

2 个答案:

答案 0 :(得分:3)

方法showWelcome不是RESTful,因此它有一个直接映射到它的路由。如果您希望HomeController上的方法以他们响应的HTTP谓词作为前缀,例如getpostput,那么您需要注册控制器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),除非您有充分的理由。