/** * @return Twig_Environment */ public static function twig() { if (self::$twig === null) { require_once 'Twig/Autoloader.php'; require_once 'Twig/NodeInterface.php'; require_once 'Twig/Node.php'; require_once 'Twig/TokenParserInterface.php'; require_once 'Twig/TokenParser.php'; require_once 'twig_while_node.php'; require_once 'twig_while_token_parser.php'; Twig_Autoloader::register(); self::$template_dir = get_stylesheet_directory(); self::$loader = new Twig_Loader_Filesystem(self::$template_dir . '/view'); self::$twig = new Twig_Environment(self::$loader, array('cache' => self::$template_dir . '/view/cache', 'debug' => self::$debug)); if (self::$debug) { self::$twig->addExtension(new Twig_Extension_Debug()); } self::$twig->addGlobal('php', new TrunkPhp()); self::$twig->addGlobal('wp', new TrunkWp()); self::$twig->addTokenParser(new Twig_Extensions_TokenParser_While()); } return self::$twig; }