Laravel 4 资源控制器:如何管理非集合资源
Laravel 4 Resource Controllers: How to manage non collection resources
假设我有以下 restful URI:
api/v1/users/username1
api/v1/users/username2
api/v1/users/username3
Laravel 支持上述 URI 的资源控制器和路由。我不确定我的术语是否正确,但我喜欢将这些类型的 URI 称为基于集合,即 api/v1/users
将显示用户列表,api/v1/users/{username}
显示用户集合的特定用户。
但是如果我们有以下 URI 怎么办;
api/v1/users/username1/profile
api/v1/users/username2/profile
api/v1/users/username3/profile
我喜欢将这些资源称为 'singular' 资源,即它们不是集合的一部分。每个用户都有一个单一的配置文件。
我的问题:有没有办法在 laravel 资源控制器中对此进行编码?
只需定义路由before/after 资源控制器:
Route::resource('users', 'UserController');
Route::get('api/v1/users/{user}/profile', 'UserController@showProfile');
此外 - 我建议您阅读 Phil Sturgeon 的这篇名为“Beware the Route to Evil”的博客 post,了解有关不使用资源控制器的一些想法。
假设我有以下 restful URI:
api/v1/users/username1
api/v1/users/username2
api/v1/users/username3
Laravel 支持上述 URI 的资源控制器和路由。我不确定我的术语是否正确,但我喜欢将这些类型的 URI 称为基于集合,即 api/v1/users
将显示用户列表,api/v1/users/{username}
显示用户集合的特定用户。
但是如果我们有以下 URI 怎么办;
api/v1/users/username1/profile
api/v1/users/username2/profile
api/v1/users/username3/profile
我喜欢将这些资源称为 'singular' 资源,即它们不是集合的一部分。每个用户都有一个单一的配置文件。
我的问题:有没有办法在 laravel 资源控制器中对此进行编码?
只需定义路由before/after 资源控制器:
Route::resource('users', 'UserController');
Route::get('api/v1/users/{user}/profile', 'UserController@showProfile');
此外 - 我建议您阅读 Phil Sturgeon 的这篇名为“Beware the Route to Evil”的博客 post,了解有关不使用资源控制器的一些想法。