我想通過使用構造函數而不是一些工廠方法來使用透明(窮人)緩存對象。在構造函數中的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