mirror of
https://github.com/fenom-template/fenom.git
synced 2023-08-10 21:13:07 +03:00
2.8 KiB
2.8 KiB
Setup
Configure
Template cache
$fenom->setCompileDir($dir);
This method set the name of the directory where template caches are stored. By default this is /tmp
. This directory must be writeable.
Template settings
// set options using factory
$fenom = Fenom::factory($tpl_dir, $compile_dir, $options);
// or inline using method setOptions
$fenom->setOptions($options);
Options may by associative array like 'option_name' => true
or bitwise mask.
Option name | Constant | Description | Affect |
---|---|---|---|
disable_methods | Fenom::DENY_METHODS |
disable calling methods of objects in templates. | |
disable_native_funcs | Fenom::DENY_NATIVE_FUNCS |
disable calling native function in templates, except allowed. | |
auto_reload | Fenom::AUTO_RELOAD |
reload template if source will be changed | decreases performance |
force_compile | Fenom::FORCE_COMPILE |
recompile template every time when the template renders | very decreases performance |
disable_cache | Fenom::DISABLE_CACHE |
disable compile cache | greatly decreases performance |
force_include | Fenom::FORCE_INCLUDE |
paste template body instead of include-tag | increases performance, increases cache size |
auto_escape | Fenom::AUTO_ESCAPE |
html-escape each variables outputs | decreases performance |
force_verify | Fenom::FORCE_VERIFY |
check existence every used variable | decreases performance |
disable_statics | Fenom::DENY_STATICS |
disable calling static methods in templates. | |
strip | Fenom::AUTO_STRIP |
strip all whitespaces in templates. | decrease cache size |
$fenom->setOptions(array(
"compile_check" => true,
"force_include" => true
));
// same
$fenom->setOptions(Fenom::AUTO_RELOAD | Fenom::FORCE_INCLUDE);
Note By default all options disabled
Extends
Template providers
Sometimes templates are stored not in the file system, but in some repository, for example, in the MySQL database. In this case, the template needs to describe how to take templates from the repository, how to check the date the template was modified, and where to store the template cache (optional). This task is taken by the Provider
classes, these are objects realizing the interface Fenom\ProviderInterface
.
Callbacks and filters
Before compile callback
$fenom->addPreFilter(function () { /* ... */ });