think关于php后期绑定问题
程序员文章站
2022-05-06 20:59:05
...
类似与如下代码
class father(){
public function __construct(){
echo "father";
}
public static function instance($options = [])
{
if (is_null(self::$instance)) {
self::$instance = new static($options);
}
return self::$instance;
}
}
然后通过url 或者配置 有子类来继承father 调用 instance()方法来实列化
请问如何确定 static调用的那个子类.
回复内容:
类似与如下代码
class father(){
public function __construct(){
echo "father";
}
public static function instance($options = [])
{
if (is_null(self::$instance)) {
self::$instance = new static($options);
}
return self::$instance;
}
}
然后通过url 或者配置 有子类来继承father 调用 instance()方法来实列化
请问如何确定 static调用的那个子类.
在方法中可以通过get_called_class()
这个函数来获得调用此方法的类名,针对后期静态绑定而设计。
namespace
命名空间
上一篇: Golang中参数传递方式方法