假設有一個名爲「Class_A
」的類,它具有一個名爲「func
」的成員函數。如何在PHP中實現裝飾器?
我希望「func
」通過在裝飾類中包裝Class_A
來做一些額外的工作。
$worker = new Decorator(new Original());
有人可以舉個例子嗎?我從來沒有使用OO與PHP。
以下版本是否正確?
class Decorator
{
protected $jobs2do;
public function __construct($string) {
$this->jobs2do[] = $this->do;
}
public function do() {
// ...
}
}
上面的代碼打算把一些額外的工作放到數組中。
你應該初始化您的變量:保護$ jobs2do =陣列(); – soulmerge 2009-06-04 10:18:41
但這仍然不是標準版本,也許應該使用像'call_user_func' – omg 2009-06-04 10:33:36
哦,沒有看到!當然,PHP 5.3之前沒有關閉。你一定要看看PHP中的回調函數: http://us.php.net/call-user-func – soulmerge 2009-06-04 10:38:56