PHP:获取传递var的类名?

JD *_*cks 4 php oop php4 classname

我有一个函数,它将一个类作为参数传递给它.我想将传递的类的类名称作为字符串.

我尝试将此方法放在传递的类中:

function getClassName()
    {
        return __CLASS__;
    }
Run Code Online (Sandbox Code Playgroud)

但是如果类是扩展的,我认为这将返回子类的名称,但它仍然返回超类的名称,我觉得有点奇怪.

因此,如果将$ var作为参数传递给函数,是否有办法获取类名的字符串?

谢谢!!

nor*_*ron 12

请参阅get_class,这应该是您正在尝试实现的目标.

$class_name = get_class($object);
Run Code Online (Sandbox Code Playgroud)


Ozz*_*ech 11

如何获取没有命名空间的类名的最简单方法是:

$class = explode('\\', get_called_class());
echo end($class);
Run Code Online (Sandbox Code Playgroud)

或者使用preg_replace

echo preg_replace('/.*([\w]+)$/U', '$1', get_called_class());
Run Code Online (Sandbox Code Playgroud)