【问题标题】:Get child class name in parent method [duplicate]在父方法中获取子类名称[重复]
【发布时间】:2019-04-05 17:49:56
【问题描述】:

我在父类中有一个函数,现在我扩展了父类,我想在父函数中获取子类名称并执行一些操作。

这是我正在尝试的代码示例,但这对我不起作用。

父类(Foo)

 class Foo {
     function method(){
        $childeClass = self::class;
        // code
     }
 }

儿童班(酒吧)

class Bar extends Foo{}

如何在父方法中获取子类名称Barself::class 没有返回子类。

【问题讨论】:

    标签: php oop


    【解决方案1】:

    您可以使用后期静态绑定

    来做到这一点

    后期静态绑定通过存储在最后一个“非转发调用”中命名的类来工作

    你不能通过使用self::class而不是这个使用static::class来实现它

     class Foo {
         function method(){
            $childeClass = static::class;
            // code
         }
     }
    

    更多信息请阅读Late Static Binding

    【讨论】:

      猜你喜欢
      • 2015-03-08
      • 2021-11-07
      • 2018-08-01
      • 2012-04-22
      • 2015-02-24
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      • 2012-10-25
      相关资源
      最近更新 更多