생성자를 사용하여 투명한 (나쁨) 캐싱을 사용할 수 있고 일부 팩토리 메서드를 사용하지 못하도록하고 싶습니다.생성자 내에서 PHP 개체 캐싱
$a = new aClass();
이 개체가 캐시에 있는지 확인하고 존재하지 않는 경우 캐시를 만들어 캐시에 추가해야합니다.
일부 의사 코드는 : 당신이 PHP에서 $this
을 재정의 할 수 없기 때문에
class aClass {
public function __construct($someId) {
if (is_cached($someId) {
$this = get_cached($someId);
} else {
// do stuff here
set_cached($someId, $this);
}
}
}
불행하게도, 이것은 불가능하다.
제안 사항?
및 공장 관련 문제가 있습니까? – SergeS
우선 투명성을 원하고 두 번째로 수십만 줄의 코드를 다시 작성하고 싶지 않습니다. –