我正在修改一个 joomla 组件(jQuarks),以便从模块中实现所需的行为,以便进行在线测验/考试。基本上,我希望能够使用会话变量来存储以下项目:
- 用户身份
- QuizSessionID(不是 Joomla 会话本身,因为这是一个 jQarks“会话”)
- 测验开始时间
- 最后一个问题回答的页面(或 id,并不重要,但因为我使用的是页面,所以这是最好的选择)
- 所有之前回答的问题(即问题 ID 和答案 ID)
为了实现这一点,我正在使用 JFactory::getSession() 但我有一些疑问。
第一个是:会话变量是存储这些数据的最佳方式吗?如果没有,我可以如何或在哪里存储此信息?每当用户单击导航到下一页时,我都想存储给出的答案并将其添加到先前给出的答案中。这不会让我不得不不断地破坏和重新创建会话吗?如果万一用户需要刷新页面,则当前组件的行为是创建一个新的 quizSession 从而重置所有内容并且不存储任何内容。Joomla Session 变量是否足以强制执行我想要的行为?(恢复用户启动的 quizSession)
如果这是错误的方法,我应该使用什么?我并不真正精通 Joomla 的开发,并且至少 3 年没有接触过 PHP ......
最好的祝福