我是laravel的新手,现在使用的是v5.3。
使用route::resource
Route::resource('user','UserController');
+--------+-----------+---------------------------------+--------------+-----------------------------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+---------------------------------+--------------+-----------------------------------------------------------------+--------------+
| | GET|HEAD | GameServiceAPI/user | user.index | App\Http\Controllers\Interfaces\UserController@index | web |
| | POST | GameServiceAPI/user | user.store | App\Http\Controllers\Interfaces\UserController@store | web |
| | GET|HEAD | GameServiceAPI/user/create | user.test | App\Http\Controllers\Interfaces\UserController@create | web |
| | DELETE | GameServiceAPI/user/{user} | user.destroy | App\Http\Controllers\Interfaces\UserController@destroy | web |
| | PUT|PATCH | GameServiceAPI/user/{user} | user.update | App\Http\Controllers\Interfaces\UserController@update | web |
| | GET|HEAD | GameServiceAPI/user/{user} | user.show | App\Http\Controllers\Interfaces\UserController@show | web |
| | GET|HEAD | GameServiceAPI/user/{user}/edit | user.edit | App\Http\Controllers\Interfaces\UserController@edit | web |
| | GET|HEAD | api/user | | Closure | api,auth:api |
+--------+-----------+---------------------------------+--------------+-----------------------------------------------------------------+--------------+
我想在不使用默认值(index,show,create,...)
的情况下调用我自己的方法同样是“名称”列引用的内容,我发现我可以使用一些可以添加到资源的选项来更改它,但我不知道它的用途。
答案 0 :(得分:0)
您无法更改这些方法,您应该使用create your own get
,post
,put
等路线,而不是使用resource
路线。
name
列是route name。您可以为as
的任何路线设置它:
Route::get('some-path', ['as' => 'route-name', 'uses' => 'SomeController@comeAction'])
或->name()
:
Route::get('some-path', `SomeController@comeAction`)->name('route-name');
答案 1 :(得分:0)
使用资源控制器的关键是它提供了基本的CRUD方法。
如果您想定义自己的路线,则需要使用Route::get()
,Route::post()
,Route::any()
等。更改资源控制器的链接方法不可能。
答案 2 :(得分:0)
您只需创建自己的路线,如下所示:
可用的路由器方法
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
E.g:
Route::get('uri-path', [
'as' => 'route-name',
'uses' => 'YourController@index'
]);
答案 3 :(得分:0)
您无法更改这些方法,但您可以禁用要更改的方法并添加自己的方法:
Route::resource('user', 'UserController', ['except' => ['edit']]);
Route::get('user/{id}/customEdit', 'UserController@customEdit');