假设有一个名为“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