如何使插件组件功能在OctoberCMS中作为Rest API使用?
问题描述:
在我的插件的一个组件中,我有一个读取用户输入的函数(使用Input::get()
),创建一个Model
并将其保存到数据库。数据通过html表单提交给这个函数。现在我想让用户通过Rest API
添加新数据。所以我在我的插件的根目录下创建了一个名为routes.php
的文件,并定义了发布数据的路径。由于这是合乎逻辑的重用是我的插件组件已经提供的代码,我试图路由映射到已有的组件功能:如何使插件组件功能在OctoberCMS中作为Rest API使用?
Route::post('/items', 'Acme\Plugin\Components\[email protected]');
但是,这并不工作,我得到以下错误:
The component Acme\Plugin\Components\ItemsList does not contain a method getAfterFilters
这是如何在Rest API中重用代码?为什么我得到这个错误?
答
使没有一个控制器延伸,并且在构造使用依赖注入该组件
或
从
Illuminate\Routing\Controller
和dependecy注射延伸
可以使用"Route::resource"
功能
Acme \ Plugin \ Co mponents \ ItemsList实现了一些接口,并且你必须有一个getAfterFilters方法。或者不要从该界面实现。 – Asheliahut
@Asheliahut它扩展了'ComponentBase',就像OctoberCMS中的所有组件一样。 – Meysam