나는 새로운 것을 배우면서 끊임없이 코드를 되돌아보고 내 자신의 이익을 위해 잠시 동안 내 작은 프레임 워크로 작업 해왔다. 예상대로, 나는 거의 모든 다른 객체에 의해 사용되는 Registry 객체를 가지고있다.싱글 톤과 상호 작용하는 가장 효율적인 방법은 무엇입니까?
은 현재, 가장 기본적인 객체 (AFObject는) 그래서 모든 개체가 이제 레지스트리에의 로컬 참조를 포함 할이
absract class AFObject {
var $_registry;
function __construct(){
$this->_registry = AFRegistry::getInstance();
}
}
처럼 약간 설정되어 있습니다. 그래서 내가 한 번에 인스턴스화 된 수백 개의 객체를 가지고 있다면, 그것은 싱글 톤에 대한 수백 가지 참조입니다. 그러나 ... 더 또는 덜 효율적 항상 직접이 같은 레지스트리를 참조하는 것입니다
class AFRouter extends AFObject {
function someMethod($bar){
AFRegistry::$foo = $bar;
}
}
PHP 5의 var 키워드 대신 public, protected 또는 private을 사용해야합니다. –