Php 如何组织模块化web应用程序

Php 如何组织模块化web应用程序,php,javascript,Php,Javascript,我有一个网站,在一个典型的“仪表板”页面上有多个模块。它们都与同一个数据库和同一组表通信,其中一些用于编写、一些用于显示等 我应该使用iframe来实现这一点,还是合并所有代码,或者是否有其他选项 这些模块可以在客户端javascript级别上相互交互。例如,我单击模块a中的一个按钮,模块B中的一个文本框将被隐藏 此外,您如何实现这样的目标:当我使用模块A向数据库写入内容时,模块B将知道是时候再次获取新数据了 我应该使用iframe来实现这一点,还是合并所有代码,或者是否有其他选项 更好:模板驱

我有一个网站,在一个典型的“仪表板”页面上有多个模块。它们都与同一个数据库和同一组表通信,其中一些用于编写、一些用于显示等

我应该使用iframe来实现这一点,还是合并所有代码,或者是否有其他选项

这些模块可以在客户端javascript级别上相互交互。例如,我单击模块a中的一个按钮,模块B中的一个文本框将被隐藏

此外,您如何实现这样的目标:当我使用模块A向数据库写入内容时,模块B将知道是时候再次获取新数据了

我应该使用iframe来实现这一点,还是合并所有代码,或者是否有其他选项

更好:模板驱动的网站

此外,您如何实现这样的目标:当我使用模块A向数据库写入内容时,模块B将知道是时候再次获取新数据了

有很多方法,例如:

  • 添加bool列“flag”,以标记行是否已更改(如果 已修改,否则为0)
  • 模块B在给定的时间间隔内查询服务器(您正在使用AJAX,对吗?)以检查 这些“标志”,检索它们并设置为0,然后根据需要重新显示它们

  • 如果网页的不同部分需要相互通信,那么我认为iFrame不是一个好主意。(不过我可能错过了一些东西。)

    你可能想看看。它为您提供了JavaScript中的模型/视图框架,当视图的模型发生变化时,视图会自动重新呈现,这可能会使您更容易保持所有模块之间的同步


    基本上,您可以在页面加载时在Backbone.js模型中复制数据库对象,然后让页面上的模块与其Backbone.js模型保持同步,而不是反复轮询服务器以查找页面中发生的更改。

    对于您所描述的内容,应该没有任何理由使用iFrame。像Javascript UI库这样的库可以在保持标记更干净的同时,让您在操作网页的不同元素时省去所有的汗水,所以您可能应该首先检查一下


    如果这仍然不能解决您在不同模块之间通信的问题,请看一看:这是一个Javascript模型/视图/控制器库,可以帮助您将模型(在您的情况下是数据库代码)与视图解耦,视图向模型发送数据和/或响应其更新事件(您的仪表板小部件)。

    谢谢。这给了我一些方向@威廉:不客气!一段时间以来,我一直在试图找到一些可以使用Backbone.js的东西。看起来你有一个很好的候选人。我现在正在狂热地阅读Backbone.js。我正在构建的应用程序非常复杂。所以,像这样的框架应该会有所帮助,尽管目前还不清楚它将如何工作。