0

php中有什么函数处理程序吗?就像我在 PHP 中调用任何函数一样。函数处理程序自动调用。

function add($i ,$j){
    $k = $i+$j;
    return $k;
}

因此,如果有人调用上述函数,函数处理程序会自动执行。就像我们在 PHP 中有其他函数 session save_handler 或 error_handler 一样。

4

1 回答 1

1

不,没有。您应该改用委托

function otherFunction ($i, $k) {
  foobar();
  return add($i, $j);
}

使用面向对象的设计,您还可以包装整个对象

class A {
  public function add($i, $j) { return $i + $j; }
}
class B extends A {
  public function add($i, $j) { $this->foobar(); return parent::add($i, $j);
  protected foobar() { /* do something useful */ }
}
// or
class C extends A {
  protected $_inner;
  public function __construct (A $inner) { $this->_inner = $inner; 0
  public function add($i, $j) { $this->foobar(); return $this->_inner->add($i, $j); }
  protected foobar() { /* do something useful */ }
}

或匿名函数,如

$add = function ($i, $j) {
  foobar();
  return add($i, $j);
};
$add(3, 7);
于 2012-08-23T10:23:57.523 回答