php - Laravel - 命名路由(GET、POST、DELETE)同名?

标签 php laravel

为了让我在大型网站中的生活变得更简单,我可以这样做吗?

Route::get('view/{id}', 'PostController@show')->name('post');
Route::delete('view/{id}', 'PostController@delete')->name('post');
Route::post('view/{id}', 'PostController@save')->name('post');

然后以我的形式,我可以做到这一点。

<!-- Delete Form -->
<form method="post" action="{{ route('post', $post->id) }}">
    <input type="hidden" name="_method" value="DELETE">
    <button type="submit">Delete</button>
</form>

<!-- Edit Form -->
<form method="post" action="{{ route('post', $post->id) }}">
    <input type="hidden" name="_method" value="PATCH">
    <button type="submit">Edit</button>
</form>

<!-- Etc -->

我可以这样做吗?这是推荐的吗?

最佳答案

是的,事实上您可以使用以下命令来保持路由文件干净:https://laravel.com/docs/5.2/controllers#restful-naming-resource-route-parameters

Route::resource('foobar', 'FooBarController');

这将为您自动生成 RESTful 路由:

如果你运行php artisan route:list你可以看到所有的HTTP路由。

关于php - Laravel - 命名路由(GET、POST、DELETE)同名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36805319/

相关文章:

php - 维基私有(private)页面与公共(public)页面

laravel 定义多个表之间的关系

php - 如何在 GraphQL 中返回自定义错误

laravel - 符号链接(symbolic link)通过部署脚本在 Laravel Envoyer 中上传文件夹

php - 将非 unicode、非英语内容转换为 unicode

php - 我如何从 PHP 中的当前日期()中删除 5 分钟

php - 在 REST_Controller php 库 codeigniter 中使用 pdo

javascript - 提交时切换表单 - jQuery (Ajax)

css - 如何在 laravel 中改变 appcss 的值

php - 在 MySQL 中只选择一个子字符串然后返回它