Smarty_Internal_Configfilelexer example

/* here is where the compiling takes place. Smarty tags in the templates are replaces with PHP code, then written to compiled files. */
        $this->config = $config;
        // get config file source         $_content = $config->source->content . "\n";
        // on empty template just return         if ($_content == '') {
            return true;
        }
        // init the lexer/parser to compile the config file         $lex = new Smarty_Internal_Configfilelexer($_content$this->smarty);
        $parser = new Smarty_Internal_Configfileparser($lex$this);
        if ($this->smarty->_parserdebug) $parser->PrintTrace();
        // get tokens from lexer and parse them         while ($lex->yylex()) {
            if ($this->smarty->_parserdebug) echo "<br>Parsing {$parser->yyTokenName[$lex->token]} Token {$lex->value} Line {$lex->line} \n";
            $parser->doParse($lex->token, $lex->value);
        }
        // finish parsing process         $parser->doParse(0, 0);
        $config->compiled_config = '<?php $_config_vars = ' . var_export($this->config_data, true) . '; ?>';
    }

    
Home | Imprint | This part of the site doesn't use cookies.