PHP的回调方法

原创
2016-06-13 10:45:13 561浏览

回调,不用解释了,我们就来看下PHP怎么实现回调

1.首先建一个对象
class Product{
public $name; //为了方便测试

function __construct($name){
$this->name=$name;
}
}

2.使用回调
class ProcessSale{
private $callbacks;

//设置回调方法
function registerCallBack($callback){
if(!is_callable($callback)){
throw new Exception("xxxxxx");
}

$this->callbacks[]=$callback;
}

function sale($product){
print "{$product->name}:processing \n";

foreach($this->callbacks as $callback){
call_user_func($callback,$product);
}
}
}

3.测试
$logger = function($product){
print "logging ({$product->name})";
}

$processor = new ProcessSale();
$processor->registerCallBack($logger);

$processor->sale(new Product("测试"));

作者:sunwei-07

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。