【问题标题】:Name in the Properties class属性类中的名称
【发布时间】:2017-01-02 11:11:58
【问题描述】:

问题:获取类属性的名称。

<?php 

class Vasya {
    public $name = __CLASS__;
}

$class = new Vasya();
echo $class->name; // result Vasya

class Petro extends Vasya { }

$class = new Petro();
echo $class->name; // result Vasya // Why???

如何获取属性中继承的类名?

【问题讨论】:

标签: php class


【解决方案1】:

这是因为,$name 只在父类中声明;所以它保存了父类的类名。如果您想要您的子类名称,请在 Child Class 中声明变量。在这种情况下,它会覆盖父类的变量:

<?php

class Vasya {
    public $name = __CLASS__;
}

$class = new Vasya();
echo $class->name; // result Vasya

class Petro extends Vasya { 
    public $name = __CLASS__;
}

$class = new Petro();
echo $class->name; // result Petro

【讨论】:

    猜你喜欢
    • 2011-10-15
    • 2012-01-08
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2010-09-14
    • 2021-07-23
    • 2014-06-27
    • 2021-12-07
    相关资源
    最近更新 更多