嗨!我叫亚历山大·萨莫伊洛夫。我是第聂伯国立大学的学生,在那里我学习PHP开发。我很高兴能参与GSoC的“Joomla中的Web服务”项目。
关于项目
Joomla是一个流行的CMS,正在积极开发中,实现Web服务对于进一步的开发非常重要,因为它将有助于使用Joomla创建更多功能和复杂的项目。
例如,我们有一个Joomla网站,我们在那里卖披萨,我们想在其他一些流行的平台上开始销售。对于这个任务,平台通过我们的API获取我们的联系信息和内容。
Joomla中的Web服务也可以称为组件的REST API。
社区融合
在GSoC的第一个培训阶段,我每周与我的导师在hangouts中进行会议。这非常有趣。我们首先讨论了项目实施的计划。我们选择了一些组件,对于它们需要实现CRUD API。
在这个阶段,我们为Joomla的一些组件实现了Web服务
- com_banners
- com_categories
- com_config
- com_contact
- com_fields
- com_newsfeeds
- com_plugins
- com_privacy
为此,需要理解API请求的处理。已经有现成的示例com_content,这非常有帮助。
主要的事情是
- API应用程序 - 在Joomla中有实现CMSApplicationInterface的应用程序。其中之一,ApiApplication,处理API调用。
- API路由器 - 这是一个非常灵活的东西,可以轻松实现API的REST协议。
- API控制器
- API视图
更多关于项目的详细信息可以在这里找到。
下一步
- 为API实现以下组件
- com_weblinks
- com_media
- com_menus
- com_contenthistory
- com_finder
- com_languages
- com_messages
- com_modules/com_templates
- com_tags
- com_redirect
- 改进 ApiDispatcher 和 ApiController 的错误处理。这对于所有网络服务都是一个重要的改进。
- 为网络服务创建测试。这将大大有助于在早期阶段捕获错误。