내가하려는 것은 실행중인 개체를 추적하는 것입니다. 최종 목표가 무엇인지 정확히 알지 못합니다.
아마도 당신은 런타임에 ReflectionClass를 찾고 있습니까? 클래스가 있는지와 확장 클래스가 무엇인지 확인할 수 있습니다.
당신이 목표로하는 것은 사용중인 객체를 추적하는 객체 팩토리입니다. 싱글 톤, 팩토리 및 정적 멤버 함수/변수 개념을 살펴 봅니다. 이에 관해서는
은 : 클래스 B가 생성자를 오버라이드 (override)
class A
{
public function __construct()
{ print "A has been called";
}
}
경우, A의 생성자를 호출 않을거야. 그 많은 도움이된다면
function doSomethingWithA(A $a)....
function doSmoethingWithA($a)
{
if($a instanceof A)
{
// blah
}
}
이 몰라 : 예는 : B는 여러 가지 방법의 하나의 인스턴스 인 경우
class B extends A
{
public function __construct()
{ print "B has been called";
// parent::__construct(); /// would print out A has been called
}
}
그러나 코드에서 확인할 수 있습니다.
내가 그 트랙에 없다면 실제로 도움이 될 것입니다. 감사! 나는 내가 원하는 것을하는 다른 방법을 모색 중입니다. 나는 Sqool이라는 데이터베이스 추상화 레이어를 만들고 있는데, 사용자가 단일 클래스를 만들어서 사용할 수 있다는 점에서 정말 좋습니다. 문제는 누군가가 적어도 하나의 객체를 이미 인스턴스화 한 경우에만 기본 "sqool 클래스"(테이블)가 존재한다는 것을 알고 있다는 것입니다. 이 문제를 해결하기 위해 계획하고있는 방법은 사용자가 아직 클래스를 알지 못하는 경우 호출 할 수있는 함수 (표준 이름)를 만드는 것입니다. 관심이 있으시면 http://tinyurl.com/o3tz2n을 확인하십시오. –