覆盖PHP扩展类中的命名空间用法


Overwrite namespace usage in extended class in PHP

覆盖扩展类中的名称空间使用

是否有可能覆盖父类使用的命名空间而不重写扩展类中的函数?

为了澄清,我写了一个例子:

我有两个这样的类:

namespace one;
class hey
{
    public static function say()
    {
        echo "hey";
    }
}

namespace two;
class hey
{
    public static function say()
    {
        echo "ho";
    }
}

现在我使用这个类中的一个命名空间:

use one'hey;
class saysomething
{
    public static function main()
    {
        hey::say();
    }
}

现在我想扩展最后一个类:

class extended extends saysomething
{
}
extended::main();

在这个类中,我想使用命名空间"两个'一个"而不覆盖函数,这是可能的吗?如果是,那是怎么回事?感谢您的宝贵时间。

必须在extended类中定义extended::main(),如下所示:

use two'hey;
class extended extends saysomething
{
    public static function main()
    {
        hey::say(); // will call two/hey::say method
    }
}

名称空间在这里不起作用