コード例 #1
0
 static function testLoader()
 {
     $TimberLoader = new TimberLoader();
     for ($i = 0; $i < 5000; $i++) {
         $loader = $TimberLoader->get_loader();
     }
 }
コード例 #2
0
 function testWPCLIClearCacheAllArray()
 {
     $cache_dir = __DIR__ . '/../cache/twig';
     if (is_dir($cache_dir)) {
         TimberLoader::rrmdir($cache_dir);
     }
     $this->assertFileNotExists($cache_dir);
     Timber::$cache = true;
     $pid = $this->factory->post->create();
     $post = new TimberPost($pid);
     Timber::compile('assets/single-post.twig', array('post' => $post));
     sleep(1);
     $this->assertFileExists($cache_dir);
     Timber::compile('assets/single.twig', array('data' => 'foobar'), 600);
     $success = TimberCommand::clear_cache(array('all'));
     $this->assertTrue($success);
     Timber::$cache = false;
     $success = TimberCommand::clear_cache('bunk');
     $this->assertNull($success);
 }
コード例 #3
0
ファイル: wpcli-timber.php プロジェクト: aauroux/timber
 static function clear_cache_twig()
 {
     $loader = new TimberLoader();
     return $loader->clear_cache_twig();
 }
コード例 #4
0
ファイル: timber.php プロジェクト: Butterwell/timber
 /**
  * Get sidebar from PHP
  *
  * @param string  $sidebar
  * @param array   $data
  * @return string
  */
 public static function get_sidebar_from_php($sidebar = '', $data)
 {
     $caller = self::get_calling_script_dir();
     $loader = new TimberLoader();
     $uris = $loader->get_locations($caller);
     ob_start();
     $found = false;
     foreach ($uris as $uri) {
         if (file_exists(trailingslashit($uri) . $sidebar)) {
             include trailingslashit($uri) . $sidebar;
             $found = true;
             break;
         }
     }
     if (!$found) {
         TimberHelper::error_log('error loading your sidebar, check to make sure the file exists');
     }
     $ret = ob_get_contents();
     ob_end_clean();
     return $ret;
 }
コード例 #5
0
 function testTimberLoaderCache()
 {
     global $wp_object_cache;
     $pid = $this->factory->post->create();
     $post = new TimberPost($pid);
     $str_old = Timber::compile('assets/single-post.twig', array('post' => $post), 600);
     sleep(1);
     $str_new = Timber::compile('assets/single-post.twig', array('post' => $post), 600);
     $this->assertEquals($str_old, $str_new);
     $loader = new TimberLoader();
     $clear = $loader->clear_cache_timber();
     $this->assertTrue($clear);
     global $wpdb;
     $query = "SELECT * FROM {$wpdb->options} WHERE option_name LIKE '_transient_timberloader_%'";
     $wpdb->query($query);
     $this->assertEquals(0, $wpdb->num_rows);
 }
コード例 #6
0
function render_twig_string($string, $data = array())
{
    $timber_loader = new TimberLoader();
    $timber_loader->get_twig();
    $loader = new Twig_Loader_String();
    $twig = new Twig_Environment($loader);
    return $twig->render($string, $data);
}
コード例 #7
0
function twig_this($template, $data)
{
    $loader = new TimberLoader(Timber::get_calling_script_dir());
    return $loader->get_twig()->createTemplate($template)->render($data);
}