コード例 #1
0
 /**
  * Handle dynamic, static calls to the object.
  *
  * @param  string  $method
  * @param  array  $args
  * @return mixed
  */
 public function __call($method, $args)
 {
     $instance = $this->sentinel->__invoke();
     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);
     }
 }