Bootstrap\View\BootstrapStringTemplate::format PHP Method

format() public method

Format a template string with $data
public format ( string $name, array $data ) : string
$name string The template name.
$data array The data to insert.
return string
    public function format($name, array $data)
    {
        if (!isset($this->_compiled[$name])) {
            return '';
        }
        list($template, $placeholders) = $this->_compiled[$name];
        /* If there is a {{attrs.class}} block in $template, remove classes from $data['attrs']
           and put them in $data['attrs.class']. */
        if (isset($data['attrs'])) {
            foreach ($placeholders as $placeholder) {
                if (substr($placeholder, 0, 6) == 'attrs.' && in_array('attrs.' . substr($placeholder, 6), $placeholders) && preg_match('#' . substr($placeholder, 6) . '="([^"]+)"#', $data['attrs'], $matches) > 0) {
                    $data['attrs'] = preg_replace('#' . substr($placeholder, 6) . '="[^"]+"#', '', $data['attrs']);
                    $data[$placeholder] = ' ' . trim($matches[1]);
                }
            }
            $data['attrs'] = ' ' . trim($data['attrs']);
        }
        if ($template === null) {
            return '';
        }
        if (isset($data['templateVars'])) {
            $data += $data['templateVars'];
            unset($data['templateVars']);
        }
        $replace = [];
        foreach ($placeholders as $placeholder) {
            $replacement = isset($data[$placeholder]) ? $data[$placeholder] : null;
            if (is_array($replacement)) {
                $replacement = implode('', $replacement);
            }
            $replace[] = $replacement;
        }
        return vsprintf($template, $replace);
    }
BootstrapStringTemplate