Go\Aop\Framework\AbstractMethodInvocation::__invoke PHP Method

__invoke() final public method

Invokes current method invocation with all interceptors
final public __invoke ( null | object | string $instance = null, array $arguments = [], array $variadicArguments = [] ) : mixed
$instance null | object | string Invocation instance (class name for static methods)
$arguments array List of arguments for method invocation
$variadicArguments array Additional list of variadic arguments
return mixed Result of invocation
    public final function __invoke($instance = null, array $arguments = [], array $variadicArguments = [])
    {
        if ($this->level) {
            $this->stackFrames[] = [$this->arguments, $this->instance, $this->current];
        }
        if (!empty($variadicArguments)) {
            $arguments = array_merge($arguments, $variadicArguments);
        }
        try {
            ++$this->level;
            $this->current = 0;
            $this->instance = $instance;
            $this->arguments = $arguments;
            $result = $this->proceed();
        } finally {
            --$this->level;
        }
        if ($this->level) {
            list($this->arguments, $this->instance, $this->current) = array_pop($this->stackFrames);
        }
        return $result;
    }