【问题标题】:Android app fetching Joomla website with DBAndroid 应用程序使用 DB 获取 Joomla 网站
【发布时间】:2015-09-22 10:09:10
【问题描述】:

我的客户有一个带有插件(Mosets 树和 JSE 事件)的 Joomla 网站,这些插件基本上列出了业务和事件。他想要开发一个 android 应用程序来获取这些信息。立即想到的是,我创建了查询数据库的 php 脚本,然后从我的应用程序中调用这些脚本。在我的应用中,我会显示收集到的信息。

我想到的另一个想法是启用 RSS 提要,然后我阅读了这个 RSS 提要。

我的方法是否正确?在开发从 Joomla 网站后端获取信息的应用程序时,是否有不同的方式或标准方式?

请注意,该网站已经适合移动设备,但要求是为网站的一部分创建应用程序。任何指针都有帮助

【问题讨论】:

  • 好吧,我会先找到一个适用于 Joomla 的 REST API 插件,安装并启用它。您将节省时间在 php 中开发脚本并直接读取数据库。
  • @darkangelo Joomla 由几个组件组成,这些组件本身就是小应用程序,因此很难构建与所有组件兼容的 REST API 插件。有一些尝试,但没有真正的赢家。

标签: android joomla


【解决方案1】:

构建一个或多个查询数据库并返回数据的 PHP 脚本绝对是更快、更简单的解决方案。

如果您想构建一个更健壮/兼容的解决方案,您可以将您的 PHP 脚本集扩展为一个完整的 REST API 应用程序。在这种情况下,看看像 SLIMSILEX 这样的框架非常擅长。

还有更完整、更优雅的解决方案,但它们可能对您的需求来说太过分了。

编辑:为什么直接查询数据库

理论上,最好不要直接访问数据库,而是与 Mosets Tree 组件交互;因为这样你就不必重复任何逻辑。

但根据我的经验,除了极少数例外,Joomla 组件都是经过编码的,因此很难以编程方式与它们进行交互。

【讨论】:

  • Joomla 制作的网站是由插件组成的,其中一个插件是 Moset 树,它负责创建 dB 并将其与网站集成。当我编写 php 时,我会自己编写脚本并访问 dB,对吗?我的意思是这不像重新发明轮子,我必须以某种方式通过插件..对吗?谢谢
  • 你是对的。我更新了我的答案,以澄清为什么我认为您应该跳过 Joomla 并直接进入数据库。
【解决方案2】:

我在这里回答了一个关于 Joomla RESTful API 的类似问题:

REST API for Joomla 3.0

基本上,我最终开发了一个解决方案,将 Slim PHP 微框架与 Joomla 框架/CMS 相结合(需要 Joomla 3.4.3+)。

为什么?

嗯,主要原因是虽然使用 Slim 框架作为一次性解决方案是可以的,但我意识到仍然需要开发所有随附的 ACL 和访问安全性,更不用说可能的实际 CMS首先存储和管理所有重要数据。

基本上,我已经完成了这项工作,因此您不必这样做。是的,它是一个商业组件(必须付费才能下载),但我认为它值得你最终从中获得。

它是全新的,因此 cAPI(“常量 API”)核心包中的服务路由仍然有限,但随着时间的推移,这些路由正在被构建(当然都包含在核心包中)。 component/plugin/library 包的架构允许轻松集成附加插件,这些插件将引入新的服务路由以添加功能,如 MySQL、MSSQL、MongoDB、LDAP 等的 RESTful JSON API。我已经使用了 alpha 版本企业环境中的 LDAP 插件,所以我希望它很快可以购买/下载。

所有这一切的重点是,您可以使用现有的 Joomla 站点来驱动移动应用程序(为 Mosets 进行了一些开发),同时利用内置的用户管理和 ACL 以及令牌身份验证(通过 cAPI)。

如果您有任何问题,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多