static function handlebars() { if (!isset(self::$handlebars)) { self::$handlebars = new Handlebars_Engine(array('cache' => new Handlebars_Cache_Disk(APP_FILES_DIR . DS . 'Q' . DS . 'cache' . DS . 'handlebars'), 'loader' => new Q_Handlebars_Loader(), 'partials_loader' => new Q_Handlebars_Loader('partials'), 'escape' => function ($value) { return htmlspecialchars($value, ENT_COMPAT, 'UTF-8'); })); self::$handlebars->addHelper('call', array('Q_Handlebars', 'helperCall')); self::$handlebars->addHelper('tool', array('Q_Handlebars', 'helperTool')); } return self::$handlebars; }