在父方法中获取子类名[duplicate]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在父方法中获取子类名[duplicate]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我在父类中有一个函数,我现在扩展父类我想在父函数中获取子类名并执行一些操作。
这是我正在尝试的代码示例,但这对我不起作用。
父类(Foo)
class Foo {
function method(){
$childeClass = self::class;
// code
}
}
儿童班(酒吧)
class Bar extends Foo{}
如何在父方法中获取子类名称Bar? self::class
没有归还儿童班。
答案
您可以使用Late Static Binding来完成此操作
后期静态绑定通过存储最后一次“非转发调用”中指定的类来工作
你无法通过使用self::class
而不是使用static::class
来实现它
class Foo {
function method(){
$childeClass = static::class;
// code
}
}
欲了解更多信息,请阅读Late Static Binding
以上是关于在父方法中获取子类名[duplicate]的主要内容,如果未能解决你的问题,请参考以下文章
c#如何在父类(或是接口)当中定义一个子类必须要重写的字段(属性)?