protected function createLatte() { $latte = new Latte\Engine(); foreach ($this->helpers as $key => $callback) { $latte->addFilter($key, $callback); } foreach ($this->helperLoaders as $callback) { $latte->addFilter(NULL, function ($name) use($callback, $latte) { if ($res = call_user_func($callback, $name)) { $latte->addFilter($name, $res); } }); } if ($this->cacheStorage instanceof Nette\Caching\Storages\PhpFileStorage) { $latte->setTempDirectory($this->cacheStorage->getDir()); } return $latte; }