php直接用类名调用静态方法会不会触发类的构造函数

2024-11-20 22:43:36
推荐回答(2个)
回答1:

调用静态方法与触发类的构造函数没有必然关系。但是静态方法可以实例化类本身,这时候会触发构造函数,而且可以传参数。如:
class classname{
    private function __construct($a){
        $this->a = $a;
        exit($this->a);//打印一下
    } 

    public static function staticfun($a){
        new self($a);
    }
}

// use case as follow:
$a = '测试123';
classname::staticfun($a);

回答2:

试试不就知道了,这么简单的问题为什么要花这么多时间问呢,自己动手早知道答案了