2014-08-02 00:24:14 +04:00
Настройка
=========
2014-08-01 12:12:19 +04:00
## Configure
2014-08-02 00:24:14 +04:00
### Кеш шаблонов
2014-08-01 12:12:19 +04:00
```php
$fenom->setCompileDir($dir);
```
2014-08-02 00:24:14 +04:00
Задает имя каталога, в котором хранятся компилированные шаблоны. По умолчанию это `/tmp` . Каталог дожен быть доступен на запись.
2014-08-01 12:12:19 +04:00
2014-08-02 00:24:14 +04:00
### Параметры обработчика
2014-08-01 12:12:19 +04:00
2014-08-02 00:24:14 +04:00
Установка параметров через фабрику
2014-08-01 12:12:19 +04:00
```php
$fenom = Fenom::factory($tpl_dir, $compile_dir, $options);
```
2014-08-02 00:24:14 +04:00
Установка параметров через метод
```php
$fenom->setOptions($options);
```
В обоих случаях аргумет `$options` может быть массивом или битовой маской.
2015-03-08 09:17:14 +03:00
В массиве ключем должно быть название параметра, а значением — булевый флаг `true` (активировать) или `false` (деактивировать).
2016-05-26 15:45:15 +03:00
Битовая маска должна состоять из значений констант, согласно следующей таблице
2014-08-01 12:12:19 +04:00
2014-08-02 00:24:14 +04:00
| Название параметра | Константа | Описание | Эффект |
2014-08-01 12:12:19 +04:00
| ---------------------- | ------------------------- | ------------ | ------- |
2015-03-08 09:17:14 +03:00
| *disable_methods* | `Fenom::DENY_METHODS` | отключает возможность вызова методов в шаблоне | |
2017-07-26 10:40:02 +03:00
| *disable_native_funcs* | `Fenom::DENY_NATIVE_FUNCS` | отключает возможность использования функций PHP, за исключением разрешенных | |
2014-08-02 00:24:14 +04:00
| *auto_reload* | `Fenom::AUTO_RELOAD` | автоматически пересобирать кеш шаблона если шаблон изменился | понижает производительность |
2017-07-26 10:50:55 +03:00
| *force_compile* | `Fenom::FORCE_COMPILE` | каждый раз пересобирать кеш шаблонов (рекомендуется только для отладки)| очень сильно понижает производительность |
2014-08-02 00:24:14 +04:00
| *disable_cache* | `Fenom::DISABLE_CACHE` | не кешировать компилированный шаблон | эпично понижает производительность |
| *force_include* | `Fenom::FORCE_INCLUDE` | стараться по возможности вставить код дочернего шаблона в родительский при подключении шаблона | повышает производительность, увеличивает размер файлов в кеше, уменьшает количество файлов в кеше |
| *auto_escape* | `Fenom::AUTO_ESCAPE` | автоматически экранировать HTML сущности при выводе переменных в шаблон | понижает производительность |
| *force_verify* | `Fenom::FORCE_VERIFY` | автоматически проверять существование переменной перед использованием в шаблоне | понижает производительность |
2016-04-11 20:19:31 +03:00
| *disable_call* | `Fenom::DENY_CALL` | отключает возможность вызова статических методов и функций в шаблоне | |
| *disable_php_calls* | `Fenom::DENY_PHP_CALLS` | устаревшее название disable_call | |
| *disable_statics* | `Fenom::DENY_STATICS` | устаревшее название disable_call | |
2014-08-02 00:24:14 +04:00
| *strip* | `Fenom::AUTO_STRIP` | удаляет лишиние пробелы в шаблоне | уменьшает размер кеша |
2014-08-01 12:12:19 +04:00
```php
$fenom->setOptions(array(
"compile_check" => true,
"force_include" => true
));
2014-08-02 00:24:14 +04:00
// тоже самое что и
2014-08-01 12:12:19 +04:00
$fenom->setOptions(Fenom::AUTO_RELOAD | Fenom::FORCE_INCLUDE);
```
2014-10-15 01:01:55 +04:00
```php
$fenom->addCallFilter('View\Widget\*::get*')
```
2014-08-02 00:24:14 +04:00
**Замечание**
По умолчанию все параметры деактивированы.