【发布时间】:2018-11-02 09:48:36
【问题描述】:
在静态类方法中调用get_called_class() 和static::class 有什么区别?
例如:
class Base
{
public static function foo()
{
return static::class;
}
public static function bar()
{
return get_called_class();
}
}
class Child extends Base {}
echo Base::foo(); // prints 'Base'
echo Base::bar(); // prints 'Base'
echo Child::foo(); // prints 'Child'
echo Child::bar(); // prints 'Child'
这两种情况似乎都一样,但我应该注意一些细微差别。
【问题讨论】: