首页  >  文章  >  后端开发  >  我可以从扩展 PHP 类中的静态方法调用中检索正确的类名吗?

我可以从扩展 PHP 类中的静态方法调用中检索正确的类名吗?

Linda Hamilton
Linda Hamilton原创
2024-11-01 15:57:30840浏览

Can I retrieve the correct class name from a static method call in an extended PHP class?

从扩展 PHP 类中的静态调用中检索类名

问题:

一个 PHP存在类层次结构,具有基类 Action 和扩展类 MyAction。 Action 类中的静态方法 n() 返回其类名。但是,当从扩展类 MyAction 调用该方法时,它返回“Action”。

问题:

是否可以从扩展类中的静态调用?

答案:

选项 1:非静态方法

如果方法是修改为非静态并使用 $this 关键字,可以使用 get_class($this) 函数获取扩展类的类名。

选项 2:后期静态绑定 ( PHP 5.3 )

后期静态绑定引入了 get_called_class() 函数,该函数解析静态方法调用的运行时目标类。这允许直接在方法中检索类名。

以上是我可以从扩展 PHP 类中的静态方法调用中检索正确的类名吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn