fenom/docs/ru/configuration.md

58 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

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` (деактивировать).
Битавая маска должна состоять из значений констант, согласно следующей таблице
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` | отключает возможность вызова методов в шаблоне | |
2014-08-02 00:24:14 +04:00
| *disable_native_funcs* | `Fenom::DENY_NATIVE_FUNCS`| отключает возможность использования фунций PHP, за исключением разрешенных | |
| *auto_reload* | `Fenom::AUTO_RELOAD` | автоматически пересобирать кеш шаблона если шаблон изменился | понижает производительность |
| *force_compile* | `Fenom::FORCE_COMPILE` | каждый раз пересобирать кеш шаблонов (рекоммендуется только для отладки)| очень сильно понижает производительность |
| *disable_cache* | `Fenom::DISABLE_CACHE` | не кешировать компилированный шаблон | эпично понижает производительность |
| *force_include* | `Fenom::FORCE_INCLUDE` | стараться по возможности вставить код дочернего шаблона в родительский при подключении шаблона | повышает производительность, увеличивает размер файлов в кеше, уменьшает количество файлов в кеше |
| *auto_escape* | `Fenom::AUTO_ESCAPE` | автоматически экранировать HTML сущности при выводе переменных в шаблон | понижает производительность |
| *force_verify* | `Fenom::FORCE_VERIFY` | автоматически проверять существование переменной перед использованием в шаблоне | понижает производительность |
2014-11-05 16:07:50 +03:00
| *disable_php_calls* | `Fenom::DENY_PHP_CALLS` | отключает возможность вызова статических методов и функций в шаблоне | |
| *disable_statics* | `Fenom::DENY_STATICS` | устаревшее название disable_php_calls | |
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
**Замечание**
По умолчанию все параметры деактивированы.