public 和 private在__callstatic 的注意事项
class Student{
private static $arr;
private function __clone(){
}
public static function __callstatic($id,$name){
self::$arr[$id] = $name;
}
public function get($id,$name){
return $id.$name;
}
}
$stu = new Student();
$stu::get(1,'tim');
当使用了 __callstatic 魔术方法时要注意方法名不能相同比如上文中的 get()就会报错
他会先去访问类中存在的相同方法名的公共方法
把 public 改为 private或者protected也可以避免 这个问题