어떻게 부모 클래스 대신 하위 클래스의 클래스 이름을 가져올 수 있습니까? 둘 다 a
을 인쇄하지만 두 번째 var_dump()
에 b
을 인쇄해야합니다.PHP에서 클래스 이름을 상속하는 방법은 무엇입니까?
<?php
class a
{
public $name;
public function __construct()
{
$this->name=get_class();
}
}
class b extends a
{
public function b()
{
parent::__construct();
}
}
$a= new a();
$b=new b();
var_dump($a); //prints a
var_dump($b); //prints a, i want to be printed b here
?>
당신은 왜 이것이 작동하지 않고 $를 지나치지 않고 설명 할 수 있습니까? 설명서에 클래스 컨텍스트에 있으면 매개 변수에서 아무 것도 전달할 필요가 없다고 말합니다. – varuog
그리고 get_class()의 상수 _ _CLASS_ _instead를 사용하여 수행 할 수 있습니까? 현재의 아동반으로 제대로 해결 될 것인가? – varuog
@ user1538127 :'get_class()'는 인자가 생략되었을 때 함수가 호출되는 클래스의 이름을 반환합니다. 'a' 클래스 대신에 인수가 생략되면 "a"를 반환합니다. '__CLASS__'를 사용하면 ** 작동하지 않습니다 **. –