集成两个使用相同类名,变量名的PHP应用程序

时间:2014-01-20 00:55:33

标签: php integration opencart forum phpbb3

我试图整合opencart和phpbb,但遇到了问题 通过集成我的意思是,当用户登录opencart或phpbb时,他们会登录到两个站点(这对我来说很好,因为它只涉及在登录phpbb时在opencart DB中插入相关数据,反之亦然)

问题发生在我必须开始在opencart页面中获取phpbb帖子时 我按照这个帖子

wiki.phpbb.com/Practical.Displaying_posts_and_topics_on_external_pages

最后,以下行包括phpbb中的几乎所有类/函数

include($ phpbb_root_path。'common。'。$ phpEx);

现在,两者中都有同名的clases(例如Cache,Session,Template) 我重命名PHP中的所有冲突类继续,但发现有全名变量同名。甚至像$ db这样的全局变量都有相同的名称 对于常见功能,我只需要仔细删除重复的功能

有人能告诉我集成两个具有常见类名,函数和全局变量的php应用程序的方法是什么

我在想如果没有其他工作,我会从opencart访问phpbb作为ajax请求/响应,以便phpbb仍然是一个不同的应用程序。例如,发出ajax请求来获取帖子(通过将主题ID传递给http url / forum并阅读我从脚本中获得的响应)并在opencart屏幕中写下此响应

1 个答案:

答案 0 :(得分:-1)

这里你可能只有一个选项:让OC或BB在子文件夹/子域/不同域中运行等等。不要像你提到的那样集成它们。

而不是在BB方面创建一些自己的API(这将是最干净的方式),而在另一方面创建API客户端(API将包含提供所需数据的方法)。

另一种解决方案是在OC中实现新模型(可能只是从BB复制),它将直接从BB数据库中读取数据,以便您可以在OC控制器中调用它们并以正常方式显示数据OC确实...这也被认为是干净的解决方案。