这里的 $name 和$args 分别代表什么 真心不懂
public function __call($name,$args){ if($name=="speedDown") { $this->speed -= 10; } }
这段话 谁能 从开头 到结尾 的解释下 别用程序的用词 初学折很难理解 ,最好打一个比喻,谢谢了 $name 和 $aers 不是函数的参数吗 参数也没见赋值
public function __call($name,$args){ if($name=="speedDown") { $this->speed -= 10; } }
这段话 谁能 从开头 到结尾 的解释下 别用程序的用词 初学折很难理解 ,最好打一个比喻,谢谢了 $name 和 $aers 不是函数的参数吗 参数也没见赋值
2017-02-22
$name 表示的是形式参数,指的是类中不存在的方法名,看$name不爽,你可以换成$a,$b或者$c等等都可以。
$arguments表示的是一个可以 数的尽的(可枚举的)数组的值。当然也可以替换成你喜欢的$xxx。
举例来说:
class Haha{
public function __call($a,$b){
echo "你好,你正在调用一个不存在方法".$a.",且数组值为:".implode ("",$b)."<br>";
}
public static function __callStatic($name,$arguments){
echo "你好,你正在静态环境下调用一个不存在的方法".$name.",且数组值为:".implode ("",$arguments).
"<br />";
}
}
$obj =new methodTest();//新建一个实例
$obj->runTest('PHP001');//访问一个不存在的方法runTest
$obj::runTest('PHP002');//静态下访问一个不存在的方法runTest
输出结果为:
你好,你正在调用一个不存在方法runTest,且数组值为:PHP001
你好,你正在静态环境下调用一个不存在的方法runTest,且数组值为:PHP002
举报