callStatic()用法
<?php
class Car {
public $speed = 10;
public static $staVal=10;//静态变量
//在这里使用重载实现speedDown方法
public function __call($name,$args){
if($name=='speedDown'){
$this->speed-=10;
}
}
//重载实现静态方法funSta()
public static function __callStatic($name,$args){
if($name=='funSta'){
Car::$staVal=0;//把静态变量值变为0
}
}
}
$car = new Car();
Car::funSta();//调用不存在的静态方法 下面直接调用callStatic来实现
echo Car::$staVal;//输出为0 说明调用了callStatic()的内容
$car->speedDown(); //调用不存在的speedDown方法
echo $car->speed;