Я планирую работать над игрой, у которой есть PHP-сервер для связи с хранилищем данных. Я думал об этом и пришел к выводу, что лучшая парадигма дизайна для нашей игры будет управляться событиями. Я ищу систему достижений (похожую на систему значков этого веб-сайта), и в основном я хотел бы привлечь эти "проверки достижений" к множеству различных событий, которые происходят в игре. то есть:
Когда пользователь выполняет действие X, происходит укус Y, и все присоединенные функции вызываются для проверки на соответствие требованиям достижения.
При структурировании такой архитектуры я буду легко добавлять новые достижения, так как все, что мне нужно сделать, это добавить функцию проверки к правильному крюку и все остальное встанет на свои места.
Я не уверен, что это отличное объяснение того, что я намереваюсь сделать, но в любом случае я ищу следующее:
- Хороший справочный материал о том, как закодировать приложение, управляемое событиями
- фрагмент кода, показывающий, как поставить "крючок" в функции в PHP
- Фрагменты кода, показывающие, как присоединить функцию к "крюку", упомянутому в пункте 2
У меня есть несколько идей относительно того, как выполнить 2) и 3), но я надеялся, что кто-то, кто хорошо разбирается в этом вопросе, может пролить свет на лучшие практики.
Заранее благодарю вас!