Browse Source

[Templating] fixed CacheLoader

Fabien Potencier 15 năm trước cách đây
mục cha
commit
8427af6389

+ 3 - 1
src/Symfony/Components/Templating/Loader/CacheLoader.php

@@ -78,11 +78,13 @@ class CacheLoader extends Loader
       return new FileStorage($path, $options['renderer']);
       return new FileStorage($path, $options['renderer']);
     }
     }
 
 
-    if (false === $content = $this->loader->load($template, $options))
+    if (false === $storage = $this->loader->load($template, $options))
     {
     {
       return false;
       return false;
     }
     }
 
 
+    $content = $storage->getContent();
+
     if ($this->loader instanceof CompilableLoaderInterface)
     if ($this->loader instanceof CompilableLoaderInterface)
     {
     {
       $content = $this->loader->compile($content);
       $content = $this->loader->compile($content);

+ 2 - 1
tests/unit/Symfony/Components/Templating/Loader/CacheLoaderTest.php

@@ -16,6 +16,7 @@ require_once __DIR__.'/../../../../../lib/SymfonyTests/Components/Templating/Pro
 use Symfony\Components\Templating\Loader\Loader;
 use Symfony\Components\Templating\Loader\Loader;
 use Symfony\Components\Templating\Loader\CacheLoader;
 use Symfony\Components\Templating\Loader\CacheLoader;
 use Symfony\Components\Templating\Loader\CompilableLoaderInterface;
 use Symfony\Components\Templating\Loader\CompilableLoaderInterface;
+use Symfony\Components\Templating\Storage\StringStorage;
 
 
 $t = new LimeTest(9);
 $t = new LimeTest(9);
 
 
@@ -48,7 +49,7 @@ class ProjectTemplateLoaderVar extends Loader
   {
   {
     if (method_exists($this, $method = 'get'.ucfirst($template).'Template'))
     if (method_exists($this, $method = 'get'.ucfirst($template).'Template'))
     {
     {
-      return $this->$method();
+      return new StringStorage($this->$method());
     }
     }
 
 
     return false;
     return false;