src/Leevel/View/Compiler.php
protected function parseVarFunction(string $name, array $var, bool $isJavascript = false): string
    {
        $len = count($var);

        for ($index = 0; $index < $len; $index++) {
            if (0 === stripos($var[$index], 'default=')) {
                $args = explode('=', $var[$index], 2);
            } else {
                $args = explode('=', $var[$index]);
            }

            $args[0] = trim($args[0]);

            if (false === $isJavascript && isset($args[1])) {
                $args[1] = str_replace('->', ':', $args[1]);
            }

            switch (strtolower($args[0])) {
                // 特殊模板函数
                case 'default':
                    $name = $name.' ?: '.$args[1];

                    break;
                // 通用模板函数
                default:
                    if (isset($args[1])) {
                        if (strstr($args[1], '**')) {
                            $args[1] = str_replace('**', $name, $args[1]);
                            $name = "{$args[0]}({$args[1]})";
                        } else {
                            $name = "{$args[0]}(${name}, {$args[1]})";
                        }
                    } elseif (!empty($args[0])) {
                        $name = "{$args[0]}(${name})";
                    }
            }
        }

        return $name;
    }
protected function parseVarFunction(string $name, array $var, bool $isJavascript = false): string
    {
        $len = count($var);

        for ($index = 0; $index < $len; $index++) {
            if (0 === stripos($var[$index], 'default=')) {
                $args = explode('=', $var[$index], 2);
            } else {
                $args = explode('=', $var[$index]);
            }

            $args[0] = trim($args[0]);

            if (false === $isJavascript && isset($args[1])) {
                $args[1] = str_replace('->', ':', $args[1]);
            }

            switch (strtolower($args[0])) {
                // 特殊模板函数
                case 'default':
                    $name = $name.' ?: '.$args[1];

                    break;
                // 通用模板函数
                default:
                    if (isset($args[1])) {
                        if (strstr($args[1], '**')) {
                            $args[1] = str_replace('**', $name, $args[1]);
                            $name = "{$args[0]}({$args[1]})";
                        } else {
                            $name = "{$args[0]}(${name}, {$args[1]})";
                        }
                    } elseif (!empty($args[0])) {
                        $name = "{$args[0]}(${name})";
                    }
            }
        }

        return $name;
    }
解析函数.

@param string $name
@param array  $var
@param bool   $isJavascript

@return string