2

当我向资源控制器添加其他方法时,例如getHistory()or getStats(),我可以自动检测它们以避免编写更多路由的唯一方法是:

Route::controller('users','UsersController');
Route::resource('users','UsersController');

我相信控制器方法只会路由前缀方法,资源方法不会覆盖它们。

根据资源控制器内的其他方法,没有更好的方法来定义自定义路由吗?像一个数组作为参数吗?

4

1 回答 1

2

您更正了控制器方法必须以 http 动词为前缀。向控制器添加自定义方法就像这样简单:

public function getCustom() {}
public function postCustom() {}

另一方面,资源丰富的控制器有点不同。向它们添加额外的方法并让它们自动检测更加复杂。

定义第Route::controller()一个,然后定义Route::resource是两全其美的最佳方式;具有自定义路由的资源丰富的 api。

前几天我读了一篇关于如何向资源添加自定义方法的帖子。我会尝试找到它,然后将您链接到它。

编辑:这是另一个类似的 SO 问题的链接,您可能会觉得有帮助 - https://stackoverflow.com/a/16661564/1233455

于 2013-06-13T21:27:50.323 回答