【发布时间】:2017-02-16 08:57:12
【问题描述】:
覆盖扩展类中的命名空间使用
是否可以覆盖父类使用的命名空间而不重写扩展类中的函数?
为了澄清,我写了一个例子:
我有两个这样的类:
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();
在这个类中,我想使用命名空间“two\one”而不覆盖函数,这可能吗? *如果是,如何? 感谢您的宝贵时间。
【问题讨论】:
-
不明白是什么问题,重写什么函数?
-
use one\hey as heyone;? -
在“saysomething”类中,我使用了命名空间“one\hey”。我不想改变它。在下一个“扩展”类中,我希望使用命名空间“two\hey”。
-
这是必须明确使用依赖注入的情况。根据您的需要,您可以从命名空间一或二注入类..
-
啊,我明白你现在在说什么了。您正在尝试某种条件继承?
标签: php oop inheritance namespaces