Latte\Engine::compile PHP Method

compile() public method

Compiles template to PHP code.
public compile ( $name ) : string
return string
    public function compile($name)
    {
        foreach ($this->onCompile ?: [] as $cb) {
            call_user_func(Helpers::checkCallback($cb), $this);
        }
        $this->onCompile = [];
        $source = $this->getLoader()->getContent($name);
        try {
            $tokens = $this->getParser()->setContentType($this->contentType)->parse($source);
            $code = $this->getCompiler()->setContentType($this->contentType)->compile($tokens, $this->getTemplateClass($name));
        } catch (\Exception $e) {
            if (!$e instanceof CompileException) {
                $e = new CompileException("Thrown exception '{$e->getMessage()}'", NULL, $e);
            }
            $line = isset($tokens) ? $this->getCompiler()->getLine() : $this->getParser()->getLine();
            throw $e->setSource($source, $line, $name);
        }
        if (!preg_match('#\\n|\\?#', $name)) {
            $code = "<?php\n// source: {$name}\n?>" . $code;
        }
        $code = PhpHelpers::reformatCode($code);
        return $code;
    }