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

来源:2-9 PHP类和对象之重载

o缘来是你o

2019-10-09 11:41

方法的重载通过__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;


写回答 关注

1回答

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

    会的,亲测

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题