贴代码:
public static function __callStatic($method, $args) { $instance = static::getFacadeRoot(); if (! $instance) { throw new RuntimeException('A facade root has not been set.'); } switch (count($args)) { case 0: return $instance->$method(); case 1: return $instance->$method($args[0]); case 2: return $instance->$method($args[0], $args[1]); case 3: return $instance->$method($args[0], $args[1], $args[2]); case 4: return $instance->$method($args[0], $args[1], $args[2], $args[3]); default: return call_user_func_array([$instance, $method], $args); } } 直接 return call_user_func_array([$instance, $method], $args); 不好吗?难道判断一下参数数量,速度快一点?
PS:我记得我以前一个同事也是这么写的,真是深得 Laravel 精髓,后悔没追着问为什么这么做
