関数ハンドラ用のphpに何かありますか? PHPで関数を呼び出す場合と同様です。関数ハンドラが自動的に呼び出されます。
function add($i ,$j){
$k = $i+$j;
return $k;
}
したがって、誰かが上記の関数を呼び出すと、関数ハンドラが自動的に実行されます。他の関数セッション save_handler、または PHP の error_handler があるように。
いいえ、ありません。代わりに委任を使用する必要があります
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);