Php 在不通过参数传递值的情况下获取子类名

Php 在不通过参数传递值的情况下获取子类名,php,oop,Php,Oop,这个问题很难问,因为它似乎很难回答 我在抽象类parent{}中声明了一个方法,该方法在子类foo{}中得到响应 此方法需要当前类名,即foo才能工作,因此如何在不通过参数传递的情况下获取此名称 实例 这是子类,应该只包含一个用户名 class foo extends parent{ echo $this->init(); // I could pass the class name through the argument, but I am looking for other

这个问题很难问,因为它似乎很难回答

我在抽象类
parent{}
中声明了一个方法,该方法在子类
foo{}
中得到响应

此方法需要当前类名,即
foo
才能工作,因此如何在不通过参数传递的情况下获取此名称

实例 这是子类,应该只包含一个用户名

class foo extends parent{
   echo $this->init(); 
 // I could pass the class name through the argument, but I am looking for other alternatives  
}
\uuuu CLASS\uuuu
是声明类(您正在使用它的类),而
get\u CLASS
将获取所提供对象的具体类。因此,
get\u class($this)
将返回与
\uuu class\uuu
或其子类之一相同的值


\uuuu CLASS\uuuu
是声明类(您正在使用它的类),而
get\u CLASS
将获取所提供对象的具体类。因此,
get\u class($this)
将返回与
\uu class\uuu>或其子类相同的值。

@sroes有答案,但您的代码示例可能类似于:

abstract class parentclass{
  public function init(){
     echo "I am running from class ...."; 
        echo __CLASS__;    

        echo ' But I am ' . get_class($this);         
  } 
}

class foo extends parentclass{
}

$f = new foo();
$f->init();

显示constCLASS和get_CLASS()

@sroes之间的差异,您的代码示例可能是这样的:

abstract class parentclass{
  public function init(){
     echo "I am running from class ...."; 
        echo __CLASS__;    

        echo ' But I am ' . get_class($this);         
  } 
}

class foo extends parentclass{
}

$f = new foo();
$f->init();

显示const类和get_CLASS()之间的差异,非常感谢。只是出于好奇,
\uu CLASS\uuuuuuuuu
为什么不工作?非常感谢。只是出于好奇,
\uu CLASS\uuuuuuuu
为什么不工作?我知道。我试过
\uuuu CLASS\uuuuu
,但
get\u CLASS()
似乎成功了。我只是不明白这两个类的名称有什么不同。“类和实例之间的差异”说似乎sroes已经消失了,尽管他给出了答案,你解释了问题txsWell tbh,@sroes在我试图解决问题时给出了正确的答案,我只是在举例说明。我知道。我试过
\uuuu CLASS\uuuuu
,但
get\u CLASS()
似乎成功了。我只是不明白这两个类的名称是如何不同的。“类和实例之间的差异”说似乎sroes已经消失了,尽管他给出了答案,你解释了问题txsWell tbh,@sroes在我试图解决问题时给出了正确的答案,我只是举例说明。
abstract class parentclass{
  public function init(){
     echo "I am running from class ...."; 
        echo __CLASS__;    

        echo ' But I am ' . get_class($this);         
  } 
}

class foo extends parentclass{
}

$f = new foo();
$f->init();