【问题标题】:Laravel 4 - RESTResourceful ControllersLaravel 4 - RESTResourceful 控制器
【发布时间】:2013-06-10 10:35:05
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你可以做类似Route::any('users', 'UsersController@route');的事情。然后有一个function route() {} 切换请求方法和任何可选参数或URI 段以调用其他UsersController 函数。

标签: php laravel laravel-4


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-08-26
    • 2014-03-18
    • 1970-01-01
    • 2015-01-15
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多