2010-02-15 4 views
3

매개 변수로 전달 된 클래스를 가져 오는 함수가 있습니다. 전달 된 클래스의 클래스 이름을 문자열로 가져 오려고합니다. PHP : 전달 된 var의 클래스 이름을 가져 옵니까?

나는 전달 된 클래스에서이 방법을 퍼팅 시도 :
function getClassName() 
    { 
     return __CLASS__; 
    } 

하지만

클래스 내가이 서브 클래스의 이름을 반환 가정 연장하지만 여전히 내가 찾을 슈퍼 클래스의 이름을 반환하는 경우 이상한 종류.

함수에 매개 변수로 전달 된 $ var가 주어지면 클래스 이름 문자열을 가져 오는 방법이 있습니까?

감사합니다.

답변

11

get_class을 참조하십시오. 달성하고자하는 것이 정확히 일치해야합니다. 반환 방법이 구현되는 클래스의 이름

$class_name = get_class($object); 
1

__ CLASS __

당신이 다음 전달 된 객체의 클래스 이름을 얻고 싶은 경우에 당신이 사용할 수 있습니다.

get_class($param); 

또한 PHP5를 사용하는 경우 제공된 Reflection 클래스도 유용합니다.

0

사용 get_class : PHP는 워드 프로세서에서 직선

$className = get_class($object); 
0

당신은 또한 전달 된 클래스 (들)에 방법을 추가 할 수 있습니다이 반환 :

위해서 var_dump를 (get_called_class());

어떻게 네임 스페이스없이 클래스 이름을 얻는 방법
11

가장 간단한 방법은 :

$class = explode('\\', get_called_class()); 
echo end($class); 

또는 preg_replace이다와

echo preg_replace('/.*([\w]+)$/U', '$1', get_called_class()); 
관련 문제