美文网首页
回调函数

回调函数

作者: 幻无虚生 | 来源:发表于2019-07-18 15:43 被阅读0次
<?php

class Product{
    public $name;
    public $price;

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

}

class ProcessSale{
    private $callbacks;

    public function registerCallback($callback){
        if(!is_callable($callback)){
            throw  new Exception("callback not callable");
        }
        $this->callbacks[]=$callback;
    }


    public function sale(Product $product){
        print"{$product->name}:processing \n";
        foreach($this->callbacks as $callback){
            call_user_func($callback,$product);
        }
    }
}

//$product=new Product('phone',100);

$logger=function ($product){
    print"$product->name";
};

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

$processor->sale(new Product('shoes',6));
print"<br/>";

$processor->sale(new Product('coffee',8));



class Mailer{
    function doMail($product){
        print $product->name;
    }
}


$processor2=new ProcessSale();
$processor2->registerCallback(array(new Mailer,'doMail'));
$processor2->sale( new Product("phone",1000));

相关文章

  • JavaScript函数_08回调函数

    回调函数 回调函数(回调),当我们把某个函数作为参数传递给另一个函数的时候,这个函数就是回调函数 回调函数的基本写...

  • Promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数。 回调地狱 回调套回调套回调套回调套回调套回调套回调....

  • 回调函数与promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数 具名回调写法 匿名回调写法 多层嵌套的匿名回调(回调地...

  • 回调函数与promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数 具名回调写法 匿名回调写法 多层嵌套的匿名回调(回调地...

  • javascript回调函数

    javascript回调函数很玄幻。 jquery 中大量使用了回调函数。直到现在才看懂 普通回调函数 匿名回调函...

  • 异步的实现

    异步的三种实现方式: 回调函数事件Promise 回调函数 回调函数不一定是异步 但是异步一定是回调函数。 事件 ...

  • JavaScript系列之回调函数callback

    JavaScript系列之回调函数callback JavaScript回调函数的使用是很常见的,引用官方回调函数...

  • mqtt python包回调分析

    mqtt的python包,回调函数比较复杂,每次在连接之前,需要先实现回调函数,回调函数的传入参数固定 将回调函数...

  • Android使用suspendCancellableCorou

    普通的回调函数: 回调方法,模拟耗时操作 去掉回调,转换为挂起函数:

  • Promise

    回调 把一个函数A传给另一个函数B调用,那么A就是回调函数一个最基本的具名回调匿名回调 回调地狱匿名回调嵌套过多层...

网友评论

      本文标题:回调函数

      本文链接:https://www.haomeiwen.com/subject/ybmllctx.html