在Laravel中我应该如何构建我的路由和控制器?

问题描述 投票:0回答:1

我的页面上有两个按钮, 点击时有不同的行为. 目前我的路由和控制器是这样设置的...

routesweb.php

Route::post('/users/button1clicked', 'UsersController@button1clicked');
Route::post('/users/button2clicked', 'UsersController@button2clicked');

apphttpcontrollersUsersController.php

class UsersController extends Controller
{
    public function button1clicked(Request $request){
      //Do something
}

    public function button2clicked(Request $request){
      //Do something else
}

}

它工作了......但我不认为我的控制器遵循了正确的惯例,因为控制器应该只有标准动作(索引、创建、存储、显示、编辑、更新、销毁)。

对我来说,什么是更好的结构化代码的方式?

php button controller routes laravel-7
1个回答
0
投票

每个按钮的作用是什么?例如,如果按钮提交一个表单来 "保存 "一个实体(比如说博客应用中的 "帖子"),那么表单动作可以直接进入到 PostController@store. 如果点击按钮的目的是为了显示一个html表格来创建一个帖子,那么它可能会导致 PostController@show. 下面的表格来自Laravel文档, 可以帮助你.路由定义约定

另请参见 https:/laravel.comdocs7.xcontrollers#restful-naming-resource-route-parameters。.

如果你使用ajax或axios来进行异步调用,那么你可以使用按钮事件(例如on-click)来调用一个函数,该函数可以进行post(或任何其他异步调用到相关的控制器方法( PostController@store). 如果你想要一个例子,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.