Add package Fenom in your require-list in composer.json
:
{
"require": {
"fenom/fenom": "2.*"
}
}
and update project's dependencies: composer update
.
Clone Fenom to any directory: git clone https://github.com/bzick/fenom.git
. Recommended use latest tag.
Fenom use psr-0 autoloading standard. Therefore you can
- use
psr-0
format in your project loader for loading Fenom's classes - or register Fenom's autoloader:
Fenom::registerAutoload();
for loading itself.
Also you can use this autoloader for loading any library with psr-0
file naming:
Fenom::registerAutoload(PROJECT_DIR."/src");
Create an object via factory method
$fenom = Fenom::factory('/path/to/templates', '/path/to/compiled/template', $options);
Create an object via new
operator
$fenom = new Fenom(new Provider('/path/to/templates'));
$fenom->setCompileDir('/path/to/template/cache');
$fenom->setOptions($options);
/path/to/templates
— directory, where stores your templates./path/to/template/cache
— directory, where stores compiled templates in PHP files.$options
- bit-mask or array of Fenom settings.
Output template
$fenom->display("template/name.tpl", $vars);
Get the result of rendering the template
$result = $fenom->fetch("template/name.tpl", $vars);
Create the pipeline of rendering into callback
$fenom->pipe(
"template/sitemap.tpl",
$vars,
$callback = [new SplFileObject("/tmp/sitemap.xml", "w"), "fwrite"], // pipe to file /tmp/sitemap.xml
$chunk_size = 1e6 // chunk size for callback
);