如何在php中从父类获取子类名称

4
<?php

class parentClass {

    function myChild() {
        echo 'Child Class Name: '.__CLASS__;
    }   
}

class childClass extends parentClass {

}

$childClassObj = new childClass;

$childClassObj->myChild();

输出结果为:
Child Class Name: parentClass

实际上,我期望有一个输出

Child Class Name: childClass

我该如何获得输出结果?


从https://dev59.com/qWHVa4cB1Zd3GeqPkTTo得到了答案。 - Mohammed H
你可以在每个子类中重写 myChild,但我猜这不是你想要的。 - John Dvorak
2个回答

10
你可以使用 get_called_class
<?php
    class parentClass {

        function myChild() {
           echo 'Child Class Name: '.get_called_class();
        }   
    }

    class childClass extends parentClass {

    }

    $childClassObj = new childClass;

    $childClassObj->myChild(); //childClass
?>

2

你试过这个吗:

function myChild() {
   echo 'Child Class Name: '.get_class($this);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接