一个基于PHP的事件机制
程序员文章站
2022-05-14 10:01:38
...
php代码
<?php //EventUtils: final class EventArgs { } interface EventHandler { public function Invoke($Sender, EventArgs $E); } class Event { private $EventHandlerList = array (); public function AddEventHandler(EventHandler $EventHandler) { $this->EventHandlerList[] = $EventHandler; } public function DeleteEventHandler(EventHandler $EventHandler) { $Index = array_search($EventHandler, $this->EventHanlerList); array_splice($this->EventHanlerList, $Index, 1); } public function Invoke($Sender, EventArgs $E) { foreach ($this->EventHandlerList as $EventHandler) { $EventHandler->Invoke($Sender, $E); } } } //Test Case: class TestEventHandler implements EventHandler { public function Invoke($Sender, EventArgs $E) { // echo "Hello, ".$Sender; } } TestEvent(); function TestEvent() { $Event = new Event(); $EventHandler = new TestEventHandler(); $Event->AddEventHandler($EventHandler); $Event->Invoke($Event, new EventArgs()); } //Output: //Hello, Object id #5ok. ?>
推荐阅读
-
基于Python实现一个简易的数据管理系统
-
php怎么实现 点击一个网站里的链接 回跳到另一个网页 并输出特定数值
-
PHP autoload与spl_autoload自动加载机制的深入理解_PHP
-
基于php缓存的详解
-
一个简单的自动发送邮件系统(一)_php基础
-
【在线等】求雅虎日本api解析(php),我再做一个代购网(雅虎日本,乐天),求高手帮忙解析下他们两个的api。
-
PHP5读取EXCEL内容时的一个正则表达式函数解决办法
-
PHP return语句的另一个作用,return语句_PHP教程
-
php基于session实现数据库交互的类实例_PHP
-
php定义一个参数带有默认值的函数实例分析_PHP