在我的插件的一个组件中,我有一个读取用户输入的函数(使用Input::get()
),创建一个Model
并将其保存到数据库中。数据通过html表单提交给此功能。现在我想允许用户通过Rest API
添加新数据。所以我在插件的根目录中创建了一个名为routes.php
的文件,并定义了发布数据的路由。因为重用我的插件组件中已有的代码是合乎逻辑的,所以我尝试将路由映射到已经可用的组件函数:
Route::post('/items', 'Acme\Plugin\Components\ItemsList@addItem');
但这不起作用,我收到以下错误:
组件Acme \ Plugin \ Components \ ItemsList不包含方法getAfterFilters
这是如何在我的Rest API中重用代码的?为什么我会收到此错误?
答案 0 :(得分:2)
创建一个没有扩展的控制器,并为构造函数中的组件使用依赖注入
或
从
延伸Illuminate\Routing\Controller
和dependecy injection
您可以使用"Route::resource"
功能