PHP UI框架中重叠请求的状态管理
我正在用PHP开发一个UI框架。这个想法与.NET平台非常相似。开发了不同的php类来呈现DOJO控件。简言之,该框架生成Javascript代码以在客户端呈现DOJO UI控件。程序如下: 第一项请求:PHP UI框架中重叠请求的状态管理,php,frameworks,state-management,Php,Frameworks,State Management,我正在用PHP开发一个UI框架。这个想法与.NET平台非常相似。开发了不同的php类来呈现DOJO控件。简言之,该框架生成Javascript代码以在客户端呈现DOJO UI控件。程序如下: 第一项请求: URL获取请求到服务器 服务器执行加载表单的相关脚本 调用每个子控件的render函数(这将生成 javascript代码) 序列化整个表单对象并将其保存到会话文件中 将JS代码输出到客户端 后续请求: 表单回发请求到达服务器 服务器从会话文件加载以前的状态(使用非序列化) 使用用户提交
- URL获取请求到服务器
- 服务器执行加载表单的相关脚本
- 调用每个子控件的render函数(这将生成 javascript代码)
- 序列化整个表单对象并将其保存到会话文件中
- 将JS代码输出到客户端
- 表单回发请求到达服务器
- 服务器从会话文件加载以前的状态(使用非序列化)
- 使用用户提交的值更新状态对象
- 调用事件处理程序
- 在会话文件中保存当前状态
- 向客户端提交响应
如何在PHP中处理上述场景?UI框架中的状态管理有什么设计模式可以遵循吗?每次请求表单时生成一个唯一的键(GET),并将其作为隐藏的输入字段放入表单中。这是减轻CSRF攻击的常见做法,因此您还可以使用它来查看哪个表单post与每个GET请求相关。也许它是会话中存储的表单数组的键 旁注:在每次GET请求时,在会话中存储一些序列化的表单数据似乎太过分了。在大多数情况下,所有用户的表单都是相同的。在文章中,您可能知道表单应该是什么样子的(尽管我认为您这样做是为了泛化表单处理程序)