我正在设计一个聊天应用程序,其中数据将存储在mysql数据库中,并将由php脚本操作。
我希望有可能开发几个不同的客户。将PHP脚本的功能暴露给客户端的最佳选择是什么?
由于
答案 0 :(得分:2)
(正如我在上面的评论中所说,这根本不是MVC模式。)
通常,您尝试实现的目标可以通过开发Web服务来公开服务器上运行的应用程序的某些功能(以及将数据存储在数据库中)来完成。您需要定义要在客户端和服务之间交换的消息格式。这通常基于JSON或XML语法。
还有几点:
-Data-为了存储数据,即消息和用户信息,我选择了mysql,因为这是apache上可用的内容。
Apache(Httpd)上没有MySQL。 Apache和MySQL几乎没有关系,除了有“LAMP”堆栈将它们捆绑在一起。原则上,没有什么能阻止你使用另一个RDBMS(例如PostgreSQL,MS SQL,......)甚至NoSQL数据库。
-Controller-访问和操作数据我选择了php,因为这是apache上可用的内容。
同样,PHP是在Apache Httpd上运行的流行选择,但PHP远非唯一的选择(例如,您可以在Python或Perl中实现服务)。
-View(客户端) - 可以开发不同的客户端,只要它们可以与有权访问的PHP脚本进行交互。 数据库。目前,我正在使用Java来构建客户端。它有 被用作applet或独立的优点 可下载的应用程序。
2013年,Java applets是一项过去的技术。 (独立Java应用程序或服务器端Java是不同的。)
我将有cron作业来选择每个聊天的最后一条消息 客房。这些消息将写入文件。每个聊天室都会 有它的文件。要阅读消息,客户端必须要求 相应的文件并将其内容呈现给用户。发送 消息到聊天室,客户端必须调用php脚本 传递信息,如目的地聊天室,用户ID等 on ..插入将在数据库上很重,但读取会有点 更轻。
这是一个过早优化或不充分优化的明显案例(cron作业每分钟运行一次,对于聊天室来说并不理想)。设计良好的数据库(例如,具有适当的索引)可能没有处理聊天室流量的问题。在尝试深入研究这类细节之前,您可能想要阅读更多有关Web服务和数据库的内容。