【发布时间】:2015-11-24 00:26:28
【问题描述】:
我正在使用 Laravel 资源路由(通过控制器)。这是路由代码
Route::resource( 'difficulty', 'DifficultyController', [ 'only' => [ 'index', 'show', 'update', 'create' ] ] );
这是创建的路线
+--------+----------+-------------------------+-------------------+--------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-------------------------+-------------------+--------------------------------------------------+------------+
| | GET|HEAD | difficulty | difficulty.index | App\Http\Controllers\DifficultyController@index | |
| | GET|HEAD | difficulty/create | difficulty.create | App\Http\Controllers\DifficultyController@create | |
| | PATCH | difficulty/{difficulty} | | App\Http\Controllers\DifficultyController@update | |
| | GET|HEAD | difficulty/{difficulty} | difficulty.show | App\Http\Controllers\DifficultyController@show | |
| | PUT | difficulty/{difficulty} | difficulty.update | App\Http\Controllers\DifficultyController@update | |
+--------+----------+-------------------------+-------------------+--------------------------------------------------+------------+
它工作正常,除了我不需要“HEAD”和“PATCH”方法并且我想删除它们。因此列出路线将显示以下内容
+--------+----------+-------------------------+-------------------+--------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-------------------------+-------------------+--------------------------------------------------+------------+
| | GET | difficulty | difficulty.index | App\Http\Controllers\DifficultyController@index | |
| | GET | difficulty/create | difficulty.create | App\Http\Controllers\DifficultyController@create | |
| | GET | difficulty/{difficulty} | difficulty.show | App\Http\Controllers\DifficultyController@show | |
| | PUT | difficulty/{difficulty} | difficulty.update | App\Http\Controllers\DifficultyController@update | |
+--------+----------+-------------------------+-------------------+--------------------------------------------------+------------+
有可能吗?我正在使用 Laravel 5.1
【问题讨论】:
-
这是可能的,但您需要扩展 Router 和 ResourceRegistrar 并覆盖一些方法。我认为这不值得努力。为什么需要删除它们?
-
因为如果你甚至不使用它们,主管会询问 HEAD 和 PATCH 方法的目的是什么。开个玩笑。
-
我认为没有本地方法可以做到这一点。只需手动将它们写出来或忽略它。
-
@jedrzej.kurylo 没有技术原因。只是想减少我不需要的接入点。
-
@natzim 如何手动写出来?
标签: php laravel laravel-5.1