FOF30\View\ViewTemplateFinder::parseTemplateUri PHP Method

parseTemplateUri() public method

Parses a template URI in the form of admin:component/view/layout to an array listing the application section (admin, site), component, view and template referenced therein.
public parseTemplateUri ( string $uri = '' ) : array
$uri string The template path to parse
return array A hash array with the parsed path parts. Keys: admin, component, view, template
    public function parseTemplateUri($uri = '')
    {
        $parts = array('admin' => 0, 'component' => $this->container->componentName, 'view' => $this->view->getName(), 'template' => 'default');
        if (substr($uri, 0, 5) == 'auto:') {
            $replacement = $this->container->platform->isBackend() ? 'admin:' : 'site:';
            $uri = $replacement . substr($uri, 5);
        }
        if (substr($uri, 0, 6) == 'admin:') {
            $parts['admin'] = 1;
            $uri = substr($uri, 6);
        } elseif (substr($uri, 0, 5) == 'site:') {
            $uri = substr($uri, 5);
        } elseif (substr($uri, 0, 4) == 'any:') {
            $parts['admin'] = -1;
            $uri = substr($uri, 4);
        }
        if (empty($uri)) {
            return $parts;
        }
        $uriParts = explode('/', $uri, 3);
        $partCount = count($uriParts);
        if ($partCount >= 1) {
            $parts['component'] = $uriParts[0];
        }
        if ($partCount >= 2) {
            $parts['view'] = $uriParts[1];
        }
        if ($partCount >= 3) {
            $parts['template'] = $uriParts[2];
        }
        return $parts;
    }