我打算开发一个游戏,它有一个PHP后端用于与数据存储库通信。我考虑过后,得出结论,我们游戏应该遵循最佳的事件驱动设计范式。我希望有一个成就系统(类似这个网站的徽章系统),并且我想将这些“成就检查”挂钩到游戏中发生的多种不同事件中。例如:
当用户执行X操作时,hook Y被触发,并调用所有附加的函数来检查成就要求。
通过这样建立架构,我可以轻松添加新的成就,只需将检查函数添加到适当的钩子中,其他所有内容都会自动完成。
我不确定这是否是我打算做的事情的很好解释,但无论如何,我正在寻找以下内容:
- 如何编写事件驱动应用程序的相关参考资料
- 展示如何在PHP函数中放置“钩子”的代码片段
- 展示如何将函数附加到上述第2点提及的“钩子”的代码片段
我对如何完成2)和3)有一些想法,但我希望精通此事的人能够为我指点迷津,讲述最佳实践。
谢谢您的帮助!