从扩展 PHP 类中的静态调用中检索类名
问题:
一个 PHP存在类层次结构,具有基类 Action 和扩展类 MyAction。 Action 类中的静态方法 n() 返回其类名。但是,当从扩展类 MyAction 调用该方法时,它返回“Action”。
问题:
是否可以从扩展类中的静态调用?
答案:
选项 1:非静态方法
如果方法是修改为非静态并使用 $this 关键字,可以使用 get_class($this) 函数获取扩展类的类名。
选项 2:后期静态绑定 ( PHP 5.3 )
后期静态绑定引入了 get_called_class() 函数,该函数解析静态方法调用的运行时目标类。这允许直接在方法中检索类名。
以上是我可以从扩展 PHP 类中的静态方法调用中检索正确的类名吗?的详细内容。更多信息请关注PHP中文网其他相关文章!