为了账号安全,请及时绑定邮箱和手机立即绑定

​__call($name,$args)这两个参数分别代表什么?

__call($name,$args)这两个参数分别代表什么?

正在回答

4 回答

是的,当然这个魔术方法是在调用本类没有的方法才会运行;

0 回复 有任何疑惑可以回复我~
#1

慕的地4125150 提问者

非常感谢!
2017-04-20 回复 有任何疑惑可以回复我~

class Car3 {

    public $speed = 100;

//$name调用本类没有的方法,$args是该方法带的参数转换的数组,function __call(string $function_name, array $arguments)

    public function __call($name, $args) {    

        if ($name == 'speedUp') {

echo $name;

print_r($args);    //用这个就可以看到效果了

            $this->speed += 10;

        }

    }

}

$car = new Car3();

$car->speedUp(2,3); //调用不存在的方法会使用重载

echo $car->speed;


1 回复 有任何疑惑可以回复我~

$name :就是你调用的函数名

 public function __call($name,$args){

        echo $name; // 数出来的就是 speedDown

         echo '<br/>';

        //echo $args;

        if($name=='speedDown'){

             $this->speed -= 10;

        }

    }

$args : 别人在调用call函数传递进来的参数数组。

1 回复 有任何疑惑可以回复我~
#1

慕的地4125150 提问者

我理解的对吗
2017-04-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

​__call($name,$args)这两个参数分别代表什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信