public function call($presenter, array $data = [])
    {
        if ($presenter instanceof PresenterInterface) {
            return $this->callPresenter([$presenter, '__invoke'], $data);
        }
        if (is_callable($presenter)) {
            return $this->callPresenter($presenter, $data);
        }
        if ($resolver = $this->builder->getContainer()) {
            return $this->callPresenter($resolver->get($presenter), $data);
        }
        throw new \BadMethodCallException('cannot resolve a presenter.');
    }
public function call($presenter, array $data = [])
    {
        if ($presenter instanceof PresenterInterface) {
            return $this->callPresenter([$presenter, '__invoke'], $data);
        }
        if (is_callable($presenter)) {
            return $this->callPresenter($presenter, $data);
        }
        if ($resolver = $this->builder->getContainer()) {
            return $this->callPresenter($resolver->get($presenter), $data);
        }
        throw new \BadMethodCallException('cannot resolve a presenter.');
    }
public function call ( $ presenter , array $ data = [ ] ) { if ( $ presenter instanceof PresenterInterface ) { return $ this -> callPresenter ( [ $ presenter , '__invoke' ] , $ data ) ; } if ( is_callable ( $ presenter ) ) { return $ this -> callPresenter ( $ presenter , $ data ) ; } if ( $ resolver = $ this -> builder -> getContainer ( ) ) { return $ this -> callPresenter ( $ resolver -> get ( $ presenter ) , $ data ) ; } throw new \ BadMethodCallException ( 'cannot resolve a presenter.' ) ; }
calls the presenter to create a view to respond.

@param callable|PresenterInterface|string $presenter
@param array                              $data
@return ResponseInterface
calls the presenter to create a view to respond .