从类中获取别名

时间:2015-06-29 13:38:43

标签: php oop

假设我有一个类Foo,方法是printname(), 然后我为Foo创建一个别名Bar并进行调用:Bar :: printname(), 我希望这个电话打印" Bar"在屏幕上。

<?php

class Foo {

    function printname () {
        ...
    }
}

class_alias('Foo', 'Bar');

Bar::printname(); // Print "Bar"

简而言之,我希望类Foo有一个函数来打印它所调用的别名的名称,而不是类的名称(Foo)。

谢谢:)

1 个答案:

答案 0 :(得分:0)

你不能,但我总是认为班级别名无论如何都是一个愚蠢的想法。

如果你真的需要别名一个类,你可以作弊并使用继承。

class Foo {

    public static function printname() {
        echo get_called_class();
    }
}

class Bar extends Foo { }

Bar::printname(); // Print "Bar"