protected function parseCall()
    {

        if ($this->call instanceof Closure) {
            $this->callClass = Closure::class;
            $this->callMethod = '';
            $this->isStaticMethod = false;
            $this->isFunction = false;
            $this->isClosure = true;
            return;
        }

        list($class, $method) = $this->toClassAndMethod($this->call);

        if ($class === '') {
            $this->callClass = '';
            $this->callMethod = $method;
            $this->isStaticMethod = false;
            $this->isFunction = true;
            $this->isClosure = false;
            return;
        }

        $this->callClass = $class;
        $this->callMethod = $method;
        $this->isFunction = false;
        $this->isClosure = false;

        $reflection = new ReflectionMethod($class, $method);
        $this->isStaticMethod = $reflection->isStatic();

        if (!$reflection->isPublic()) {
            throw new LogicException("Method '$method' of $class is not public and therefore not callable.");
        }

        return;

    }
protected function parseCall()
    {

        if ($this->call instanceof Closure) {
            $this->callClass = Closure::class;
            $this->callMethod = '';
            $this->isStaticMethod = false;
            $this->isFunction = false;
            $this->isClosure = true;
            return;
        }

        list($class, $method) = $this->toClassAndMethod($this->call);

        if ($class === '') {
            $this->callClass = '';
            $this->callMethod = $method;
            $this->isStaticMethod = false;
            $this->isFunction = true;
            $this->isClosure = false;
            return;
        }

        $this->callClass = $class;
        $this->callMethod = $method;
        $this->isFunction = false;
        $this->isClosure = false;

        $reflection = new ReflectionMethod($class, $method);
        $this->isStaticMethod = $reflection->isStatic();

        if (!$reflection->isPublic()) {
            throw new LogicException("Method '$method' of $class is not public and therefore not callable.");
        }

        return;

    }
protected function parseCall ( ) { if ( $ this -> call instanceof Closure ) { $ this -> callClass = Closure :: class ; $ this -> callMethod = '' ; $ this -> isStaticMethod = false ; $ this -> isFunction = false ; $ this -> isClosure = true ; return ; } list ( $ class , $ method ) = $ this -> toClassAndMethod ( $ this -> call ) ; if ( $ class === '' ) { $ this -> callClass = '' ; $ this -> callMethod = $ method ; $ this -> isStaticMethod = false ; $ this -> isFunction = true ; $ this -> isClosure = false ; return ; } $ this -> callClass = $ class ; $ this -> callMethod = $ method ; $ this -> isFunction = false ; $ this -> isClosure = false ; $ reflection = new ReflectionMethod ( $ class , $ method ) ; $ this -> isStaticMethod = $ reflection -> isStatic ( ) ; if ( ! $ reflection -> isPublic ( ) ) { throw new LogicException ( "Method '$method' of $class is not public and therefore not callable." ) ; } return ; }
Parse the call to make it callable and know a few things about it.

@throws ReflectionException
@throws LogicException
Parse the call to make it callable and know a few things about it .