php - 如何在 PHP 中实现 pub/sub 类?
问题描述
我有一个 EventEmitter 类,如下所示:
如何实现发布者方法 (emit) 以遍历所有事件并调用它们?(同时确保所有回调始终可以安全调用)
class EventEmitter {
private static $events = array(); // all subscriptions
public function __construct() {}
// calls the last subscription on the stack
public function emit() {
}
// adds subscriptions to the stack
public function subscribe($name, $callback) {
if(empty(self::$events[$name]))
self::$events[$name] = array();
array_push(self::$events[$name], $callback);
}
}
$emitter = new EventEmitter;
$error_callback = function($data) {
echo "Error 1. {$data["message"]} \n";
};
$error_callback2 = function($data) {
echo "Error 2. {$data["message"]} \n";
};
$success_callback = function($data) {
echo "SUCCESS! {$data["message"]} \n";
};
解决方案
推荐阅读
- bash - BASH将变量中的值(文件大小)与数字进行比较
- r - 我想在 r 中有两个组的列表上运行 emmeans_test
- javascript - 如何使用brain.js在训练有素的大脑中设置默认值以防万一
- python - 使用 gensim 的 Python 单词频率:如何在语料库中获取单词而不是 id 单词
- selenium - Selenium with Python Chrome 只能在兼容模式下加载页面,然后在每次使用后恢复到兼容模式
- c++ - 具有类型擦除的 AnyFunction 类
- python - 如何用范围替换相同的连续 RGB 值?
- excel - 您可以手动添加参数吗?
- visual-studio-code - 无法保存根 WSL2 VSCODE 拥有的文件
- javascript - 我想在令牌过期时处理错误