PhpEngine
class PhpEngine implements EngineInterface, ArrayAccess
PhpEngine — это движок, способный рендерить PHP-шаблоны.
Свойства
| protected | $loader | ||
| protected | $current | ||
| protected HelperInterface[] | $helpers | ||
| protected | $parents | ||
| protected | $stack | ||
| protected | $charset | ||
| protected | $cache | ||
| protected | $escapers | ||
| static protected | $escaperCache | ||
| protected | $globals | ||
| protected | $parser |
Методы
| __construct(TemplateNameParserInterface $parser, LoaderInterface $loader, array $helpers = array()) | ||
| string | render(string|TemplateReferenceInterface $name, array $parameters = array()) Рендерит шаблон. | |
| bool | exists(string|TemplateReferenceInterface $name) Возвращает true, если шаблон существует. | |
| bool | supports(string|TemplateReferenceInterface $name) Возвращает true, если этот класс может рендерить данный шаблон. | |
| string|false | evaluate(Storage $template, array $parameters = array()) Вычисляет шаблон. | |
| HelperInterface | offsetGet(string $name) Получает значение помощника. | |
| bool | offsetExists(string $name) Возвращает true, если помощник определён. | |
| offsetSet(HelperInterface $name, string $value) Устанавливает помощника. | ||
| offsetUnset(string $name) Удаляет помощника. | ||
| addHelpers(array $helpers) Добавляет некоторые помощники. | ||
| setHelpers(array $helpers) Устанавливает помощников. | ||
| set(HelperInterface $helper, string $alias = null) Устанавливает помощника. | ||
| bool | has(string $name) Возвращает true, если помощник определён. | |
| HelperInterface | get(string $name) Получает значение помощника. | |
| extend(string $template) Декорирует текущий шаблон другим. | ||
| string | escape(mixed $value, string $context = 'html') Экранирует строку, используя текущий кодировку. | |
| setCharset(string $charset) Устанавливает кодировку. | ||
| string | getCharset() Получает текущую кодировку. | |
| setEscaper(string $context, callable $escaper) Добавляет экранировщик для данного контекста. | ||
| callable | getEscaper(string $context) Получает экранировщик для заданного контекста. | |
| addGlobal(string $name, mixed $value) | ||
| array | getGlobals() Возвращает назначенные глобальные переменные. | |
| initializeEscapers() Инициализирует встроенные экранировщики. | ||
| LoaderInterface | getLoader() Получает загрузчик, связанный с этим движком. | |
| Storage | load(string|TemplateReferenceInterface $name) Загружает данный шаблон. |
Детали
__construct(TemplateNameParserInterface $parser, LoaderInterface $loader, array $helpers = array())
Параметры
| TemplateNameParserInterface | $parser | Экземпляр TemplateNameParserInterface |
| LoaderInterface | $loader | Экземпляр загрузчика |
| array | $helpers | Массив экземпляров хелперов |
string render(string|TemplateReferenceInterface $name, array $parameters = array())
Отображает шаблон.
Параметры
| string|TemplateReferenceInterface | $name | Имя шаблона или экземпляр TemplateReferenceInterface |
| array | $parameters | Массив параметров, передаваемых шаблону |
Возвращаемое значение
| string | Отображенный шаблон в виде строки |
Исключения
| RuntimeException | если шаблон не может быть отображен |
bool exists(string|TemplateReferenceInterface $name)
Возвращает true, если шаблон существует.
Параметры
| string|TemplateReferenceInterface | $name | Имя шаблона или экземпляр TemplateReferenceInterface |
Возвращаемое значение
| bool | true, если шаблон существует, иначе false |
Исключения
| RuntimeException | если движок не может обработать имя шаблона |
bool supports(string|TemplateReferenceInterface $name)
Возвращает true, если этот класс может отобразить заданный шаблон.
Параметры
| string|TemplateReferenceInterface | $name | Имя шаблона или экземпляр TemplateReferenceInterface |
Возвращаемое значение
| bool | true, если этот класс поддерживает заданный шаблон, иначе false |
protected string|false evaluate(Storage $template, array $parameters = array())
Вычисляет шаблон.
Параметры
| Storage | $template | Отображаемый шаблон |
| array | $parameters | Массив параметров, передаваемых шаблону |
Возвращаемое значение
| string|false | Вычисленный шаблон или false, если движок не может отобразить шаблон |
Исключения
| InvalidArgumentException |
HelperInterface offsetGet(string $name)
Получает значение хелпера.
Параметры
| string | $name | Имя хелпера |
Возвращаемое значение
| HelperInterface | Значение хелпера |
Исключения
| InvalidArgumentException | если хелпер не определен |
bool offsetExists(string $name)
Возвращает true, если хелпер определен.
Параметры
| string | $name | Имя хелпера |
Возвращаемое значение
| bool | true, если хелпер определен, иначе false |
offsetSet(HelperInterface $name, string $value)
Устанавливает хелпер.
Параметры
| HelperInterface | $name | Экземпляр хелпера |
| string | $value | Псевдоним |
offsetUnset(string $name)
Удаляет хелпер.
Параметры
| string | $name | Имя хелпера |
Исключения
| LogicException |
addHelpers(array $helpers)
Добавляет хелперы.
Параметры
| array | $helpers | Массив хелперов |
setHelpers(array $helpers)
Устанавливает хелперы.
Параметры
| array | $helpers | Массив хелперов |
set(HelperInterface $helper, string $alias = null)
Устанавливает хелпер.
Параметры
| HelperInterface | $helper | Экземпляр хелпера |
| string | $alias | Псевдоним |
bool has(string $name)
Возвращает true, если хелпер определен.
Параметры
| string | $name | Имя хелпера |
Возвращаемое значение
| bool | true, если хелпер определен, иначе false |
HelperInterface get(string $name)
Получает значение хелпера.
Параметры
| string | $name | Имя хелпера |
Возвращаемое значение
| HelperInterface | Экземпляр хелпера |
Исключения
| InvalidArgumentException | если хелпер не определен |
extend(string $template)
Декорирует текущий шаблон другим шаблоном.
Параметры
| string | $template | Логическое имя декортора |
string escape(mixed $value, string $context = 'html')
Экранирует строку, используя текущую кодировку.
Параметры
| mixed | $value | Переменная для экранирования |
| string | $context | Имя контекста |
Возвращаемое значение
| string | Экранированное значение |
setCharset(string $charset)
Устанавливает кодировку.
Параметры
| string | $charset | Кодировка |
string getCharset()
Получает текущую кодировку.
Возвращаемое значение
| string | Текущая кодировка |
setEscaper(string $context, callable $escaper)
Добавляет экранировщик для данного контекста.
Параметры
| string | $context | Контекст экранировщика (html, js, ...) |
| callable | $escaper | PHP-вызов |
callable getEscaper(string $context)
Получает экранировщик для данного контекста.
Параметры
| string | $context | Имя контекста |
Возвращаемое значение
| callable | $escaper PHP-вызов |
Исключения
| InvalidArgumentException |
addGlobal(string $name, mixed $value)
Параметры
| string | $name | |
| mixed | $value |
array getGlobals()
Возвращает назначенные глобальные переменные.
Возвращаемое значение
| array |
protected initializeEscapers()
Инициализирует встроенные механизмы экранирования.
Каждая функция определяет способ применения преобразования к строке, переданной ей. Цель состоит в том, чтобы «экранировать» строку, сделав её подходящей для формата, в котором она отображается.
Например, строка: «Требуется ввести имя пользователя и пароль.\n» Если её отображать как HTML, то было бы разумно преобразовать амперсанд в '&', а апостроф в '&aps;'. Однако если она будет использоваться как строка в JavaScript для отображения в окне предупреждения, правильным будет оставить строку без изменений, но экранировать апостроф и новую строку.
Для каждой функции определена переменная, чтобы избежать проблем с неправильно заданными строками.
Интерфейс загрузчика getLoader()
Получает загрузчик, связанный с этим движком.
Возвращаемое значение
| Интерфейс загрузчика | Экземпляр LoaderInterface |
protected Хранилище load(string|Интерфейс ссылки на шаблон $name)
Загружает указанный шаблон.
Параметры
| string|Интерфейс ссылки на шаблон | $name | Имя шаблона или экземпляр TemplateReferenceInterface |
Возвращаемое значение
| Хранилище | Экземпляр Storage |
Исключения
| InvalidArgumentException | если шаблон не найден |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Templating/PhpEngine.html