Redaxscript\Parser::_parseTemplate PHP Метод

_parseTemplate() защищенный Метод

parse the template tag
С версии: 3.0.0
protected _parseTemplate ( string $content = null ) : string
$content string content to be parsed
Результат string
    protected function _parseTemplate($content = null)
    {
        $output = str_replace($this->_tagArray['template']['search'], $this->_optionArray['delimiter'], $content);
        $partArray = array_filter(explode($this->_optionArray['delimiter'], $output));
        $object = $this->_tagArray['template']['namespace'];
        /* parse as needed */
        foreach ($partArray as $key => $value) {
            if ($key % 2) {
                $partArray[$key] = null;
                $json = json_decode($value, true);
                /* call with parameter */
                if (is_array($json)) {
                    foreach ($json as $method => $parameterArray) {
                        /* method exists */
                        if (method_exists($object, $method)) {
                            $partArray[$key] = call_user_func_array([$object, $method], $parameterArray);
                        }
                    }
                } else {
                    if (method_exists($object, $value)) {
                        $partArray[$key] = call_user_func([$object, $value]);
                    }
                }
            }
        }
        $output = implode($partArray);
        return $output;
    }