我正在PHP中开发UI框架。这个想法与.NET平台非常相似。开发不同的php类来呈现DOJO控件。简而言之,框架生成Javascript代码来在客户端呈现DOJO UI控件。过程如下:在PHP中的UI框架中重叠请求中的状态管理
第一个请求:
- URL的GET请求来服务器。
- 服务器执行加载FORM的相关脚本。
- 每个子控件的调用渲染函数(这会生成 javascript代码)
- 序列化整个FORM对象并将其保存到SESSION文件中。
- 将JS代码输出到客户端。
后续请求:
- FORM回送请求到达服务器。
- 服务器从SESSION文件加载以前的状态(使用反序列化)。
- 用用户提交的值更新状态对象。
- 调用事件处理程序。
- 将当前状态保存在SESSION文件中。
- 呈现对客户端的响应。
上述过程对来自同一会话的单个请求是完美的。 我需要一次处理来自同一会话的多个请求。
问题:
让我们说,有来自同一个会话R1和R2分别 两个请求。 R1需要10秒完成,而R2需要3秒。虽然 R1在5秒R2来了,并更新状态文件时R1是在8 秒。之后R1在2秒后再次更新状态文件。
问题是请求R2对状态文件所做的更改会丢失。
上述场景如何在PHP中处理?有什么设计模式可以在UI框架中进行状态管理?