php变量委托函数

时间:2013-10-07 19:26:03

标签: php

我有以下代码,我正在尝试找到解决方案:

<?php

class t1 {

    public $response = array();
    public $request = array();

    public function getRequest() {
        return $this->request;
    }

    public function getResponse() {
        return $this->response;
    }

}

class t2 extends t1 {
    public function run($f) {
        $this->response = $f($this);
        return $this;
    }
}

$delegate = function($c)
{
    // PLACEHOLDER
    // This is the only place to update test code
    // It's not allowed to modify any other section of this code
};

$t = new t2();
print_r(array("request" => $t->run($delegate)->getRequest(), "response" => $t->getResponse()));
?>

我假设$ delegate是一个动态函数。任何人都能指引我完成这件事。

我在PLACEHOLDER中的想法应该是:

1 个答案:

答案 0 :(得分:0)

  

我假设$ delegate是一个动态函数。

是。 $delagate是PHP Closure

如果您将功能定义为:

$delegate = function($c)
{

};

并将其传递给$t->run,然后$c将成为$t个实例。