Hprose\Client::__call PHP Method

__call() public method

public __call ( $name, array $args )
$args array
    public function __call($name, array $args)
    {
        if (isset($this->methodCache[$name])) {
            $method = $this->methodCache[$name];
            return call_user_func_array($method, $args);
        }
        $n = count($args);
        if ($n > 0) {
            if ($args[$n - 1] instanceof Closure) {
                $callback = array_pop($args);
                return $this->invoke($name, $args, $callback);
            } else {
                if ($args[$n - 1] instanceof InvokeSettings) {
                    if ($n > 1 && $args[$n - 2] instanceof Closure) {
                        $settings = array_pop($args);
                        $callback = array_pop($args);
                        return $this->invoke($name, $args, $callback, $settings);
                    }
                    $settings = array_pop($args);
                    return $this->invoke($name, $args, $settings);
                } else {
                    if ($n > 1 && is_array($args[$n - 1]) && $args[$n - 2] instanceof Closure) {
                        $settings = new InvokeSettings(array_pop($args));
                        $callback = array_pop($args);
                        return $this->invoke($name, $args, $callback, $settings);
                    }
                }
            }
        }
        return $this->invoke($name, $args);
    }