函式名稱:EventListener::setCallback()
所屬類:EventListener
適用版本:PHP 8.1.0 以上
函式功能:設定事件監聽器的回撥函式
用法:
// 建立一個事件監聽器
$listener = new EventListener();
// 定義回撥函式
$callback = function($event) {
echo "事件觸發:" . $event->getName() . "\n";
};
// 設定回撥函式
$listener->setCallback($callback);
// 觸發事件
$event = new Event("click");
$listener->handleEvent($event);
引數說明:
$callback
:回撥函式,接受一個事件物件作為引數。
注意事項:
- 回撥函式的引數型別必須與事件物件相匹配,否則可能導致錯誤。
- 可以使用匿名函式作為回撥函式,也可以使用已定義的普通函式。
- 事件監聽器可以監聽多個事件,可以多次呼叫
setCallback()
來設定不同的回撥函式。
返回值:無返回值。
示例解釋:
上述示例中,我們建立了一個事件監聽器 EventListener
,然後定義了一個回撥函式 $callback
,該函式接受一個事件物件作為引數並在事件觸發時列印出事件的名稱。接下來,我們使用 setCallback()
方法將回撥函式設定給監聽器。最後,我們建立了一個事件物件,並呼叫 handleEvent()
方法手動觸發事件,觸發後會執行回撥函式並輸出事件名稱。