本文的示例说明PHP实现事件机制的方式:
< PHP
*事件
* /
类事件{
私人美元回调=阵();
私人持票人;
功能__construct(){
BT = debug_backtrace(美元);
如果(计数(bt)< 2){
$;
返回;
}
美元->持有人= $ BT { 1 } { 'object};
}
函数附加(){
一美元= func_get_args();
开关(计数($ args)){
案例1:
如果(is_callable($ args { 0 })){
美元->回调{ } = $ args { 0 };
返回;
}
打破;
案例2:
如果(is_object($ args { 0 })is_string($ args { 1 })){
美元->回调{ } =阵列($ args { 0 },为args { 1 });
}
返回;
违约:
返回;
}
}
函数通知(){
BT = debug_backtrace(美元);
如果($ >)
((计数($ BT)或2美元(美元BT BT {计数)1 } { 'object}!= $ - >持有人)
| |(计数($ BT)< 2))){
把(新的异常('notify只能称为持有人));
}
foreach(美元->回调至回调){
一美元= func_get_args();
call_user_func_array($美元回调,args);
}
}
}
希望本文能对大家的PHP
程序设计有所帮助。