Timber\Loader::get_twig PHP Метод

get_twig() публичный Метод

public get_twig ( ) : Twig_Environment
Результат Twig_Environment
    public function get_twig()
    {
        $loader = $this->get_loader();
        $params = array('debug' => WP_DEBUG, 'autoescape' => false);
        if (isset(Timber::$autoescape)) {
            $params['autoescape'] = Timber::$autoescape;
        }
        if (Timber::$cache === true) {
            Timber::$twig_cache = true;
        }
        if (Timber::$twig_cache) {
            $twig_cache_loc = apply_filters('timber/cache/location', TIMBER_LOC . '/cache/twig');
            if (!file_exists($twig_cache_loc)) {
                mkdir($twig_cache_loc, 0777, true);
            }
            $params['cache'] = $twig_cache_loc;
        }
        $twig = new \Twig_Environment($loader, $params);
        if (WP_DEBUG) {
            $twig->addExtension(new \Twig_Extension_Debug());
        }
        $twig->addExtension($this->_get_cache_extension());
        $twig = apply_filters('twig_apply_filters', $twig);
        $twig = apply_filters('timber/twig/filters', $twig);
        $twig = apply_filters('timber/twig/escapers', $twig);
        $twig = apply_filters('timber/loader/twig', $twig);
        return $twig;
    }

Usage Example

Пример #1
0
 /**
  * Compile string.
  * @api
  * @param string  $string a string with twig variables.
  * @param array   $data   an array with data in it.
  * @return  bool|string
  */
 public static function compile_string($string, $data = array())
 {
     $dummy_loader = new Loader();
     $twig = $dummy_loader->get_twig();
     $template = $twig->createTemplate($string);
     return $template->render($data);
 }