public function render($template = '')
    {
        $result = $template;
        if (is_array($template) || is_object($template)) {
            // Recursively go down into an object/array to tokenize.
            foreach ($result as &$val) {
                $val = $this->render($val);
            }
        } elseif (
            is_string($template)
            && strlen($template) >= self::TEMPLATE_MIN_LENGTH
            && false !== strpos($template, self::TOKEN_KEY_START)
            && false !== strpos($template, self::TOKEN_KEY_END)
        ) {
            if (isset($this->renderCache[$template])) {
                // Already tokenized this exact string.
                $result = $this->renderCache[$template];
            } else {
                // A new or non-tokenized string.
                $this->lastTemplate = $template;
                set_error_handler([$this, 'handleMustacheErrors'], E_WARNING | E_NOTICE);
                $result = $this->engine->render($template, $this->context);
                restore_error_handler();
                if (null !== $result && '' !== $result) {
                    // Store the result in cache for faster lookup later.
                    $this->renderCache[$template] = $result;
                }
            }
        }

        return $result;
    }
public function render($template = '')
    {
        $result = $template;
        if (is_array($template) || is_object($template)) {
            // Recursively go down into an object/array to tokenize.
            foreach ($result as &$val) {
                $val = $this->render($val);
            }
        } elseif (
            is_string($template)
            && strlen($template) >= self::TEMPLATE_MIN_LENGTH
            && false !== strpos($template, self::TOKEN_KEY_START)
            && false !== strpos($template, self::TOKEN_KEY_END)
        ) {
            if (isset($this->renderCache[$template])) {
                // Already tokenized this exact string.
                $result = $this->renderCache[$template];
            } else {
                // A new or non-tokenized string.
                $this->lastTemplate = $template;
                set_error_handler([$this, 'handleMustacheErrors'], E_WARNING | E_NOTICE);
                $result = $this->engine->render($template, $this->context);
                restore_error_handler();
                if (null !== $result && '' !== $result) {
                    // Store the result in cache for faster lookup later.
                    $this->renderCache[$template] = $result;
                }
            }
        }

        return $result;
    }
public function render ( $ template = '' ) { $ result = $ template ; if ( is_array ( $ template ) || is_object ( $ template ) ) { // Recursively go down into an object/array to tokenize. foreach ( $ result as & $ val ) { $ val = $ this -> render ( $ val ) ; } } elseif ( is_string ( $ template ) && strlen ( $ template ) >= self :: TEMPLATE_MIN_LENGTH && false !== strpos ( $ template , self :: TOKEN_KEY_START ) && false !== strpos ( $ template , self :: TOKEN_KEY_END ) ) { if ( isset ( $ this -> renderCache [ $ template ] ) ) { // Already tokenized this exact string. $ result = $ this -> renderCache [ $ template ] ; } else { // A new or non-tokenized string. $ this -> lastTemplate = $ template ; set_error_handler ( [ $ this , 'handleMustacheErrors' ] , E_WARNING | E_NOTICE ) ; $ result = $ this -> engine -> render ( $ template , $ this -> context ) ; restore_error_handler ( ) ; if ( null !== $ result && '' !== $ result ) { // Store the result in cache for faster lookup later. $ this -> renderCache [ $ template ] = $ result ; } } } return $ result ; }
Replace Tokens in a simple string using an array for context.

@param string|array|object $template

@return string|array|object
Replace Tokens in a simple string using an array for context .