供应商文件夹中的控制器 - 我的控制器 - 什么是正确的方法?

时间:2017-04-29 05:36:46

标签: php laravel api design-patterns

所以我使用了github ticketit(https://github.com/xaviqv/ticketit)的软件包,这个软件包包含了控制器。

我将它整合到新的laravel应用程序中。

现在,我想在我的应用程序中添加一个API端点,我的问题是

我应该从供应商目录中的ticketit包中复制控制器并创建我的app / http / controllers文件夹,还是应该访问供应商中的控制器?或者我有什么好的设计吗?

所以我打算做的是

Route::get('api/v1/getdata','TicketsController@data');

Route::get('/getdata','TicketsController@data');

请帮助设计,

如果我尝试编辑供应商文件夹中的控制器并将其上传到服务器中,以确保它不会上传。

不过,我正在使用Laravel 5.4和Laravel护照。

1 个答案:

答案 0 :(得分:0)

ticketit allows using of custom routes file,您可以使用它指向您自己的自定义控制器。

您可以通过从管理面板routes更改settings -> configuration -> initial -> routes路径设置来替换默认路由文件

例如:

如果您想更改单个节目的行为,则最好更改TicketsController@show方法。

  1. 制作一个新的控制器并使它扩展Kordy\Ticketit\Controllers\TicketsController

  2. vendor/kordy/ticketit/src/routes.php复制到App\Http\ticketit_routes.php

  3. $main_route_path类更改为新的自定义类:Route::resource($main_route_path, 'App\Http\Controllers\SomeController', ..

  4. 转到ticketit管理面板/菜单settings -> configuration -> Initial -> routes并将路由设置为app/Http/ticketit_routes.php文件的完整路径

ticketit routes setting