/**
* @return Engine
*/
public function create()
{
$engine = new Engine();
// Options
$engine->setTempDirectory($this->tempDir);
$engine->setAutoRefresh($this->autoRefresh);
$engine->setContentType($this->contentType);
// Filters
foreach ($this->filters as $name => $callback) {
$engine->addFilter($name, $callback);
}
// Macros
$engine->onCompile[] = function (Engine $engine) {
$compiler = $engine->getCompiler();
foreach ($this->macros as $macro) {
$macro::install($compiler);
}
};
return $engine;
}