Class Phalcon\Mvc\View\Engine\Volt\Compiler
implements Phalcon\DI\InjectionAwareInterface
This class reads and compiles Volt templates into PHP plain code
$compiler = new \Phalcon\Mvc\View\Engine\Volt\Compiler(); $compiler->compile('views/partials/header.volt'); require $compiler->getCompiledTemplatePath();
Methods
public __construct ([Phalcon\Mvc\ViewInterface $view])
public setDI (Phalcon\DiInterface $dependencyInjector)
Sets the dependency injector
public Phalcon\DiInterface getDI ()
Returns the internal dependency injector
public setOptions (array $options)
Sets the compiler options
public setOption (string $option, string $value)
Sets a single compiler option
public string getOption (string $option)
Returns a compiler’s option
public array getOptions ()
Returns the compiler options
public mixed fireExtensionEvent (string $name, [array $arguments])
Fires an event to registered extensions
public Phalcon\Mvc\View\Engine\Volt\Compiler addExtension (object $extension)
Registers a Volt’s extension
public array getExtensions ()
Returns the list of extensions registered in Volt
public Phalcon\Mvc\View\Engine\Volt\Compiler addFunction (string $name, Closure|string $definition)
Register a new function in the compiler
public array getFunctions ()
Register the user registered functions
public Phalcon\Mvc\View\Engine\Volt\Compiler addFilter (string $name, Closure|string $definition)
Register a new filter in the compiler
public array getFilters ()
Register the user registered filters
public Phalcon\Mvc\View\Engine\Volt\Compiler setUniquePrefix (string $prefix)
Set a unique prefix to be used as prefix for compiled variables
public string getUniquePrefix ()
Return a unique prefix to be used as prefix for compiled variables and contexts
public string attributeReader (array $expr)
Resolves attribute reading
public string functionCall (array $expr)
Resolves function intermediate code into PHP function calls
public string resolveTest (array $test, string $left)
Resolves filter intermediate code into a valid PHP expression
protected string resolveFilter ()
Resolves filter intermediate code into PHP function calls
public string expression (array $expr)
Resolves an expression node in an AST volt tree
protected string|array _statementListOrExtends ()
Compiles a block of statements
public string compileForeach (array $statement, [boolean $extendsMode])
Compiles a ‘foreach’ intermediate code representation into plain PHP code
public string compileForElse ()
Generates a ‘forelse’ PHP code
public string compileIf (array $statement, [boolean $extendsMode])
Compiles a ‘if’ statement returning PHP code
public string compileElseIf (array $statement)
Compiles a ‘elseif’ statement returning PHP code
public string compileCache (array $statement, [boolean $extendsMode])
Compiles a ‘cache’ statement returning PHP code
public string compileEcho (array $statement)
Compiles a ‘{{‘ ‘}}’ statement returning PHP code
public string compileInclude (array $statement)
Compiles a ‘include’ statement returning PHP code
public string compileSet (array $statement)
Compiles a ‘set’ statement returning PHP code
public string compileDo (array $statement)
Compiles a ‘do’ statement returning PHP code
public string compileReturn (array $statement)
Compiles a ‘return’ statement returning PHP code
public string compileAutoEscape (array $statement, boolean $extendsMode)
Compiles a ‘autoescape’ statement returning PHP code
public string compileMacro (array $statement, boolean $extendsMode)
Compiles macros
public string compileCall ()
Compiles calls to macros
protected string _statementList ()
Traverses a statement list compiling each of its nodes
protected string _compileSource ()
Compiles a Volt source code returning a PHP plain version
public string compileString (string $viewCode, [boolean $extendsMode])
Compiles a template into a string
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
$compiler->compile('views/layouts/main.volt', 'views/layouts/main.volt.php');
public string|array compile (string $templatePath, [boolean $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
$compiler->compile('views/layouts/main.volt'); require $compiler->getCompiledTemplatePath();
public string getTemplatePath ()
Returns the path that is currently being compiled
public string getCompiledTemplatePath ()
Returns the path to the last compiled template
public array parse (string $viewCode)
Parses a Volt template returning its intermediate representation
print_r($compiler->parse('{{ 3 + 2 }}'));
© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/2.0.0/api/Phalcon_Mvc_View_Engine_Volt_Compiler.html