我想通过使用构造函数而不是一些工厂方法来使用透明(穷人)缓存对象。在构造函数中的php对象缓存
$a = new aClass();
应检查此对象是否存在于缓存中,如果不存在,请创建它并将其添加到缓存中。
一些伪代码:
class aClass {
public function __construct($someId) {
if (is_cached($someId) {
$this = get_cached($someId);
} else {
// do stuff here
set_cached($someId, $this);
}
}
}
不幸的是,这是不可能的,因为你不能在PHP重新定义$this
。
有什么建议吗?
和工厂有什么问题? – SergeS 2012-03-07 09:28:50
首先,我想要透明度,其次我不想重写数十万行代码。 – 2012-03-07 10:16:44