php - 获取构造类的类名

标签 php

<分区>

Possible Duplicate:
Get class name from extended class

假设我有以下内容:

class Foo
{
  public $name;

  public __construct()
  {
    $this->name = __CLASS__;
  }
}

class Bar extends Foo
{
}

class FooBar extends Foo
{
}

$bar = new Bar();
echo $bar->name; // will output 'Foo', but I want 'Bar'

$foobar = new FooBar();
echo $foobar->name; // will output 'Foo', but I want 'FooBar'

有没有办法获取构造类的名称,而无需在扩展类中设置名称,例如在类 Foo 中设置名称?

注意:我有很多从 Foo 派生的类,在每个派生类中设置名称将需要大量编码。

最佳答案

public function __construct() {
    $this->name = get_class($this);
}

http://php.net/get_class

关于php - 获取构造类的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12704944/

相关文章:

php - 如何在 PHP 中使用 preg_replace 匹配俄语单词?

php - 在超过 600,000 个文件中进行快速文本搜索

php - Mongodb "Remote server has closed the connection"重启后第一次连接

php - 使用 php 链接表中的项目

php - 如何使用 jQuery/Javascript 更改日期格式?

php - 获取多维数组中特定列的所有值

php - 如何通过 mail() 使用 Gmail 发送电子邮件?我把密码放在哪里?

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 使用 SQL 将新用户和用户元添加到数据库中

php - 使用 mock 对具有依赖关系的类进行单元测试