【发布时间】:2012-03-07 09:26:37
【问题描述】:
我希望能够通过使用构造函数而不是某些工厂方法来使用对象的透明(可怜的人)缓存。
$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。
有什么建议吗?
【问题讨论】:
-
工厂有什么问题?
-
第一,我想要透明,第二,我不想重写数十万行代码。
标签: php caching constructor factory