2011-08-21 3 views
1

이 가능한 중복 클래스의 인스턴스의 목록을 얻을 수 있습니다 :
Get all instances of a class in PHP가 어떻게

나는 클래스가 그 클래스의 인스턴스의 수를 만드는 경우입니다 거기 PHP를 통해 해당 인스턴스의 전체 목록을 검색하는 방법은 무엇입니까? PHP 5.3.6을 사용하고 있습니다.

+0

PHP에는 해당 기능이 없습니다. 직접 인스턴스 목록을 관리해야합니다. – mario

답변

4

아니요, 할 수 없습니다. 생성 객체에 대한 팩토리 클래스를 빌드하고 정적 배열에 저장할 수 있습니다.

0

언어에 관계없이이 작업을 수행하는 가장 좋은 방법은 클래스 내에 인스턴스의 싱글 톤 arraylist를 만들고 생성자가 호출 될 때마다 추가하는 것입니다.

1

정적 카운터를 메서드에 추가하고 생성자를 사용할 때마다 메서드에 추가하십시오. destruct가 호출 될 때마다 빼십시오.

적어도 살아있는 인스턴스 수를 알려줘야합니다.

0

아마 할 수있는 최선은 모든 바르를 나열하는 데 get_defined_vars()을 사용하는 것입니다. get_object_vars()도 조사해야합니다.

0

클래스 내에 개인 정적 변수를 추가하고 생성자가 호출 될 때마다 변수를 증가시킵니다. 공개 함수를 사용하면 변수의 값을 얻을 수 있습니다. :)

0

내가 할 수 있을지 모르겠 군. 그러나 클래스를 생성 할 때마다 변수에 인스턴스를 추가 할 수 있습니다.

function __construct(){  
    $instances[] = $this; 
}