Heim  >  Artikel  >  php教程  >  PHP的回调方法

PHP的回调方法

WBOY
WBOYOriginal
2016-06-13 10:45:13878Durchsuche

回调,不用解释了,我们就来看下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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn