Class Phalcon\Mvc\View\Engine\Volt\Compiler

implements Phalcon\Di\InjectionAwareInterface

This class reads and compiles Volt templates into PHP plain code

<?php

$compiler = new \Phalcon\Mvc\View\Engine\Volt\Compiler();

$compiler->compile('views/partials/header.volt');

require $compiler->getCompiledTemplatePath();

Methods

public __construct ([unknown $view])

public setDI (unknown $dependencyInjector)

Sets the dependency injector

public getDI ()

Returns the internal dependency injector

public setOptions (unknown $options)

Sets the compiler options

public setOption (string $option, mixed $value)

Sets a single compiler option

public string getOption (string $option)

Returns a compiler’s option

public getOptions ()

Returns the compiler options

final public mixed fireExtensionEvent (string $name, [array $arguments])

Fires an event to registered extensions

public addExtension (unknown $extension)

Registers a Volt’s extension

public getExtensions ()

Returns the list of extensions registered in Volt

public addFunction (unknown $name, unknown $definition)

Register a new function in the compiler

public getFunctions ()

Register the user registered functions

public addFilter (unknown $name, unknown $definition)

Register a new filter in the compiler

public getFilters ()

Register the user registered filters

public setUniquePrefix (unknown $prefix)

Set a unique prefix to be used as prefix for compiled variables

public getUniquePrefix ()

Return a unique prefix to be used as prefix for compiled variables and contexts

public attributeReader (unknown $expr)

Resolves attribute reading

public functionCall (unknown $expr)

Resolves function intermediate code into PHP function calls

public resolveTest (unknown $test, unknown $left)

Resolves filter intermediate code into a valid PHP expression

final protected resolveFilter (unknown $filter, unknown $left)

Resolves filter intermediate code into PHP function calls

final public expression (unknown $expr)

Resolves an expression node in an AST volt tree

final protected string|array _statementListOrExtends (array $statements)

Compiles a block of statements

public compileForeach (unknown $statement, [unknown $extendsMode])

Compiles a “foreach” intermediate code representation into plain PHP code

public compileForElse ()

Generates a ‘forelse’ PHP code

public compileIf (unknown $statement, [unknown $extendsMode])

Compiles a ‘if’ statement returning PHP code

public compileElseIf (unknown $statement)

Compiles a “elseif” statement returning PHP code

public compileCache (unknown $statement, [unknown $extendsMode])

Compiles a “cache” statement returning PHP code

public compileSet (unknown $statement)

Compiles a “set” statement returning PHP code

public compileDo (unknown $statement)

Compiles a “do” statement returning PHP code

public compileReturn (unknown $statement)

Compiles a “return” statement returning PHP code

public compileAutoEscape (unknown $statement, unknown $extendsMode)

Compiles a “autoescape” statement returning PHP code

public string compileEcho (array $statement)

Compiles a ‘{{‘ ‘}}’ statement returning PHP code

public compileInclude (unknown $statement)

Compiles a ‘include’ statement returning PHP code

public compileMacro (unknown $statement, unknown $extendsMode)

Compiles macros

public string compileCall (array $statement, boolean $extendsMode)

Compiles calls to macros

final protected _statementList (unknown $statements, [unknown $extendsMode])

Traverses a statement list compiling each of its nodes

protected _compileSource (unknown $viewCode, [unknown $extendsMode])

Compiles a Volt source code returning a PHP plain version

public compileString (unknown $viewCode, [unknown $extendsMode])

Compiles a template into a string

<?php

 echo $compiler->compileString('{{ "hello world" }}');

public string|array compileFile (string $path, string $compiledPath, [boolean $extendsMode])

Compiles a template into a file forcing the destination path

<?php

$compiler->compile('views/layouts/main.volt', 'views/layouts/main.volt.php');

public compile (unknown $templatePath, [unknown $extendsMode])

Compiles a template into a file applying the compiler options This method does not return the compiled path if the template was not compiled

<?php

$compiler->compile('views/layouts/main.volt');
require $compiler->getCompiledTemplatePath();

public getTemplatePath ()

Returns the path that is currently being compiled

public getCompiledTemplatePath ()

Returns the path to the last compiled template

public array parse (string $viewCode)

Parses a Volt template returning its intermediate representation

<?php

print_r($compiler->parse('{{ 3 + 2 }}'));