think\Template::parseThinkVar PHP Méthode

parseThinkVar() public méthode

特殊模板变量解析 格式 以 $Think. 打头的变量属于特殊模板变量
public parseThinkVar ( array $vars ) : string
$vars array 变量数组
Résultat string
    public function parseThinkVar($vars)
    {
        $type = strtoupper(trim(array_shift($vars)));
        $param = implode('.', $vars);
        if ($vars) {
            switch ($type) {
                case 'SERVER':
                    $parseStr = '\\think\\Request::instance()->server(\'' . $param . '\')';
                    break;
                case 'GET':
                    $parseStr = '\\think\\Request::instance()->get(\'' . $param . '\')';
                    break;
                case 'POST':
                    $parseStr = '\\think\\Request::instance()->post(\'' . $param . '\')';
                    break;
                case 'COOKIE':
                    $parseStr = '\\think\\Cookie::get(\'' . $param . '\')';
                    break;
                case 'SESSION':
                    $parseStr = '\\think\\Session::get(\'' . $param . '\')';
                    break;
                case 'ENV':
                    $parseStr = '\\think\\Request::instance()->env(\'' . $param . '\')';
                    break;
                case 'REQUEST':
                    $parseStr = '\\think\\Request::instance()->request(\'' . $param . '\')';
                    break;
                case 'CONST':
                    $parseStr = strtoupper($param);
                    break;
                case 'LANG':
                    $parseStr = '\\think\\Lang::get(\'' . $param . '\')';
                    break;
                case 'CONFIG':
                    $parseStr = '\\think\\Config::get(\'' . $param . '\')';
                    break;
                default:
                    $parseStr = '\'\'';
                    break;
            }
        } else {
            switch ($type) {
                case 'NOW':
                    $parseStr = "date('Y-m-d g:i a',time())";
                    break;
                case 'VERSION':
                    $parseStr = 'THINK_VERSION';
                    break;
                case 'LDELIM':
                    $parseStr = '\'' . ltrim($this->config['tpl_begin'], '\\') . '\'';
                    break;
                case 'RDELIM':
                    $parseStr = '\'' . ltrim($this->config['tpl_end'], '\\') . '\'';
                    break;
                default:
                    if (defined($type)) {
                        $parseStr = $type;
                    } else {
                        $parseStr = '';
                    }
            }
        }
        return $parseStr;
    }