2010-05-06 3 views
0

클래스 내에서 인스턴스화 된 클래스를 참조하는 데 사용되는 변수 이름을 가져올 수 있습니까?PHP에서 인스턴스화 된 클래스의 변수 이름 얻기

class Test { 
    function getName(){ 
    //some code here to get the name '$test1' in this example 
    } 
} 

$test1 = new Test 

그것은이 가능하기위한 필수 아니지만, 내가 일하고 있어요 프로젝트에 대한 도움이 것 : 여기 내가 무엇을 의미하는지의 예입니다.

+0

중복 가능한 http://stackoverflow.com/questions/255312/how-to-get-a-variable-name-as-a-string-in-php - 솔루션이 동일해야합니다. – Gordon

답변

2

변수 $this을 사용하여 객체 자체를 참조 할 수 있습니다.

$test1의 실제 이름을 찾으려면 클래스가 전역 범위에서 사용되는 방식을 알 수있는 방법이 없으므로 불가능할 수도 있습니다. 그러나 아마도 그만한 가치는 없습니다. 그런 질문을 한 번 보았을 때 사람들은 디자인 결함이 있으며 애플리케이션이 변수 이름 이외의 다른 것에 의존해야한다고 제안했다.

0

당신은 대부분 debug_backtrace()을 사용하여이를 수행 할 수 있습니다. 그러나 이러한 종류의 해킹은 매우 나쁜 습관입니다.

관련 문제