Класс Phalcon\Mvc\View\Engine\Volt\Compiler

Реализует Phalcon\Di\InjectionAwareInterface

Source on GitHub

Этот класс читает и компилирует шаблоны Volt в простой код PHP 

<?php

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

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

require $compiler->getCompiledTemplatePath();

Методы

public __construct ([Phalcon\Mvc\ViewBaseInterface $view])

Конструктор

public setDI (Phalcon\DiInterface $dependencyInjector)

Устанавливает инжектор зависимостей

public getDI ()

Возвращает инжектор внутренних зависимостей

public setOptions (array $options)

Задает параметры компилятора

public setOption (string $option, mixed $value)

Задает один параметр компилятора

public string getOption (string $option)

Возвращает параметр компилятора

public getOptions ()

Возвращает параметры компилятора

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

Запускает событие для зарегистрированных расширений

public addExtension (mixed $extension)

Регистрирует расширение Volt

public getExtensions ()

Возвращает список расширений, зарегистрированных в Volt

public addFunction (mixed $name, mixed $definition)

Регистрация новой функции в компиляторе

public getFunctions ()

Регистрация зарегистрированных пользователем функций

public addFilter (mixed $name, mixed $definition)

Регистрация нового фильтра в компиляторе

public getFilters ()

Регистрация зарегистрированных фильтров пользователя

public setUniquePrefix (mixed $prefix)

Установка уникального префикса для использования в качестве префикса для скомпилированных переменных

public getUniquePrefix ()

Возвращает уникальный префикс для использования в качестве префикса для скомпилированных переменных и контекстов

public attributeReader (array $expr)

Разрешает чтение атрибута

public functionCall (array $expr)

Разрешает промежуточный код функции в вызовы функции PHP

public resolveTest (array $test, mixed $left)

Разрешает фильтровать промежуточный код в допустимое выражение PHP

final protected resolveFilter (array $filter, mixed $left)

Разрешает фильтровать промежуточный код в вызовы функций PHP

final public expression (array $expr)

Разрешает узел выражения в дереве volt AST

final protected string | array _statementListOrExtends (array $statements)

Компилирует блок инструкций

public compileForeach (array $statement, [mixed $extendsMode])

Компилирует представление промежуточного кода "foreach" в обычный PHP-код

public compileForElse ()

Генерирует PHP код 'forelse'

public compileIf (array $statement, [mixed $extendsMode])

Компилирует оператор 'if', возвращает PHP код

public compileElseIf (array $statement)

Компилирует оператор "elseif", возвращает код PHP

public compileCache (array $statement, [mixed $extendsMode])

Компилирует оператор "cache", возвращает PHP код

public compileSet (array $statement)

Компилирует оператор set, возвращает PHP код

public compileDo (array $statement)

Компилирует оператор "do", возвращает код PHP

public compileReturn (array $statement)

Компилирует оператор "return", возвращает PHP код

public compileAutoEscape (array $statement, mixed $extendsMode)

Компилирует оператор "autoescape", возвращает код PHP

public string compileEcho (array $statement)

Компилирует '{{' '}}' оператор, возвращает PHP код

public compileInclude (array $statement)

Компилирует оператор 'include', возвращает PHP код

public compileMacro (array $statement, mixed $extendsMode)

Компилирует макросы

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

Компилирует вызовы макросов

final protected _statementList (array $statements, [mixed $extendsMode])

Пересекает список операторов, компилируя каждый из его узлов

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

Компилирует исходный код Volt, возвращая простую версию PHP

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

Компилирует шаблон в строку

<?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 (mixed $templatePath, [mixed $extendsMode])

Компилирует шаблон в файл, применяя параметры компилятора этот метод не возвращает скомпилированный путь, если шаблон не был скомпилирован

<?php

$compiler->compile("views/layouts/main.volt");

require $compiler->getCompiledTemplatePath();

public getTemplatePath ()

Возвращает путь, который в данный момент компилируется

public getCompiledTemplatePath ()

Возвращает путь к последней компиляции шаблонов

public array parse (string $viewCode)

Анализирует шаблон Volt, возвращая его промежуточное представление

<?php

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

protected getFinalPath (mixed $path)

Возвращает конечный путь с VIEW