PPI\Framework\Module\Controller\ControllerResolver::createController PHP Method

createController() protected method

Returns a callable for the given controller.
protected createController ( string $controller ) : mixed
$controller string A Controller string
return mixed A PHP callable
    protected function createController($controller)
    {
        if (false === strpos($controller, '::')) {
            $count = substr_count($controller, ':');
            if (2 == $count) {
                // controller in the a:b:c notation then
                $controller = $this->parser->parse($controller);
            } elseif (1 == $count) {
                // controller in the service:method notation
                list($service, $method) = explode(':', $controller, 2);
                return array($this->serviceManager->get($service), $method);
            } else {
                if ($this->serviceManager->has($controller) && method_exists($service = $this->serviceManager->get($controller), '__invoke')) {
                    return $service;
                } else {
                    throw new \LogicException(sprintf('Unable to parse the controller name "%s".', $controller));
                }
            }
        }
        return parent::createController($controller);
    }