当我向资源 Controller 添加其他方法时,例如 getHistory()
或 getStats()
,我可以自动检测它们以避免写入的唯一方法更多路线是这样的:
Route::controller('users','UsersController');
Route::resource('users','UsersController');
我相信 Controller 方法只会路由前缀方法,而资源方法不会覆盖它们。
是否没有更好的方法来根据资源 Controller 内的附加方法定义自定义路由?喜欢用数组作为参数吗?
最佳答案
您更正了 Controller 方法必须以 http 动词为前缀。向 Controller 添加自定义方法就像这样简单:
public function getCustom() {}
public function postCustom() {}
另一方面,足智多谋的 Controller 则有些不同。向其中添加额外的方法并自动检测它们更加复杂。
首先定义Route::controller()
,然后定义Route::resource
是两全其美的最佳方式;具有自定义路由的资源丰富的 API。
前几天我读了一篇关于如何向资源添加自定义方法的文章。我会尝试找到它,然后将您链接到它。
编辑:这是另一个类似问题的链接,您可能会发现它有帮助 - https://stackoverflow.com/a/16661564/1233455
关于php - Laravel 4 - REST资源丰富的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097274/