问答详情
源自:2-9 PHP类和对象之重载

__call 方法不定义的时候 是否也会有默认的用法?

方法的重载通过__call来实现,当调用不存在的方法的时候,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载。

class Car {
    public $speed = 0;
    
    public function __call($name, $args) {
        if ($name == 'speedUp') {
            $this->speed += 10;
        }
    }
}
$car = new Car();
$car->speedUp(); //调用不存在的方法会使用重载
echo $car->speed;


提问者:o缘来是你o 2019-10-09 11:41

个回答

  • 慕田峪3022717
    2019-10-11 21:15:46

    会的,亲测