慕无忌9207436
2019-07-19 18:56
<?php
class Car {
public $speed = 10;
//在这里使用重载实现speedDown方法
public function __call($name,$agr){
if($name=='speedDown'){
$this->speed-=10;
}
}
}
$car = new Car();
$car->speedDown(); //调用不存在的speedDown方法
echo $car->speed;
?>
比如 public function __call($name,$agr) 这行代码中参数$name我能理解,不过这个$agr我就不能理解了,如果__call()少加上一个参数就会报错,为什么呢? 而且$agr这个形参也并没有传入东西啊。。
$name 参数是要调用的方法名称。$arg 参数是一个枚举数组,包含着要传递给方法 $name 的参数。
我也发现这个问题,我猜想:可能是指这个函数可能会有多个参数传过来,比如:这个speedDown()函数没有参数值,这个$args没什么意义,但是如果speedDown(10,20...)有多个参数$args就代表这些参数。
PHP进阶篇
181835 学习 · 2577 问题
相似问题