__call 方法不定義的時候 是否也會有默認的用法?
方法的重載通過__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;
2019-10-11
會的,親測