event php,PHP event 事件机制
/*
* PHP 事件機制
*/
class baseClass{
private $_e;
public function __set($name,$value){
if( strncasecmp($name,"on",2) === 0 ){
if(!isset($this->_e[$name]))
$this->_e[$name] = array();
return array_push($this->_e[$name] , $value);
}
}
public function __get($name){
if( strncasecmp($name,"on",2) === 0 ){
if(!isset($this->_e[$name]))
$this->_e[$name] = array();
return $this->_e[$name];
}
}
public function raiseEvent($name, $parse){
if(isset($this->_e[$name])){
print_r($this->_e[$name]);
foreach($this->_e[$name] as $handler)
call_user_func($handler,$parse);
}
}
public function save(){
//xxx
$this->raiseEvent("onSave", array());
}
}
$InsA = new baseClass();
//1
$InsA->onSave = function($e){
echo $e;
};
//2
class Log{
static public function saveLog($e){
echo "save Log".$e;
}
}
$InsA->onSave = array("Log" , "saveLog");
$InsA->raiseEvent(‘onClick‘,‘success‘);
?>
總結
以上是生活随笔為你收集整理的event php,PHP event 事件机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 撞死一个人赔多少钱啊?
- 下一篇: php获取src,PHP读取文件