关于Laravel的路线4

时间:2013-04-23 02:55:21

标签: laravel laravel-4

我可以说Laravel 4中的所有控制器默认都是RESTful控制器吗? 如何制作非RESTful控制器? RESTful控制器和资源控制器之间有什么区别?

// routes.php
Route::get('/', 'HomeController');

我可以说HomeController是一个RESTful控制器吗?

1 个答案:

答案 0 :(得分:5)

在RESTful控制器中,方法名称以他们应响应的HTTP谓词作为前缀,因此如果您将TaskController分配给URI任务,如下所示:

Route::controller('tasks', 'TaskController'); 

并向/tasks/info发出可以调用TaskController@getInfo方法的GET请求。有关详细信息,请参阅http://four.laravel.com/docs/controllers#restful-controllers

在资源丰富的控制器中,有可用的预定义方法与创建的自动路由匹配。您可以将资源丰富的控制器分配给路径,如下所示:

Route::resource('lists', 'ListController');

这允许您对/lists/1执行GET请求,例如,该请求应显示ID为1的列表并调用ListController@show方法。完整列表可在此处获取:http://four.laravel.com/docs/controllers#resource-controllers

要回答第一个问题,除非您使用Route::controller()分配控制器,否则默认情况下并非所有控制器都不是RESTful。通过手动分配路径到控制器方法来使用普通控制器,如下所示:

Route::get('about', 'HomeController@about');

或指定路线:

Route::get('about', array(
'as' => 'about',
'uses' => 'HomeController@about'
));