2009-12-10 3 views

답변

7

get_class ($ this)를 사용하십시오.

하위 클래스, 하위 하위 클래스, 상위 클래스 등 모든 항목에서 작동합니다. 그냥 시도 해 봐! ; http://docs.php.net/get_class

1
<?php 

class Bob extends Person 
{ 

    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function whoAmI() 
    { 
     echo "Hi! I'm ".__CLASS__.", and my parent is named " , get_parent_class($this) , ".\n"; 
    } 
} 

class Person 
{ 
    public function __construct() 
    { 
     echo "Hello. My name is ".__CLASS__.", and I have a child named " , get_class($this) , ".\n"; 
    } 
} 

// Hello. My name is Person, and I have a child named Bob. 
$b = new Bob; 
// Hi! I'm Bob, and my parent is named Person. 
$b->whoAmI(); 
+0

는 - 그는 자식 클래스를 원했다. – Franz

+0

이 코드는 편집되었으므로 이제 올바르게되었습니다. – Kevin

+1

서두르지 만, 나는 주된 논리를 잘못된 위치에 두었다. 내 __CLASS__ 상수 아이디어를 사용하여 한 번 더 편집 할 것입니다. – simeonwillbanks

2
class Bob extends Person 
{ 
    //do some stuff 
} 

class Person 
{ 
    public function __construct() 
    { 
     var_dump(get_class($this)); // Bob 
     var_dump(get_class());  // Person 
    } 
} 

new Bob; 

소스에서 "슈퍼 클래스의 get_class()를 사용 예 # 2"에서 설명)

관련 문제