class Twig_Loader_Array in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/twig/twig/lib/Twig/Loader/Array.php \Twig_Loader_Array
Loads a template from an array.
When using this loader with a cache mechanism, you should know that a new cache key is generated each time a template content "changes" (the cache key being the source code of the template). If you don't want to see your cache grows out of control, you need to take care of clearing the old cache file by yourself.
This loader should only be used for unit testing.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Twig_Loader_Array implements Twig_ExistsLoaderInterface, Twig_LoaderInterface
Expanded class hierarchy of Twig_Loader_Array
1 string reference to 'Twig_Loader_Array'
- Twig_Tests_Loader_ChainTest::testExists in vendor/
twig/ twig/ test/ Twig/ Tests/ Loader/ ChainTest.php
File
- vendor/
twig/ twig/ lib/ Twig/ Loader/ Array.php, line 24
View source
class Twig_Loader_Array implements Twig_LoaderInterface, Twig_ExistsLoaderInterface {
protected $templates = array();
/**
* Constructor.
*
* @param array $templates An array of templates (keys are the names, and values are the source code)
*/
public function __construct(array $templates) {
$this->templates = $templates;
}
/**
* Adds or overrides a template.
*
* @param string $name The template name
* @param string $template The template source
*/
public function setTemplate($name, $template) {
$this->templates[(string) $name] = $template;
}
/**
* {@inheritdoc}
*/
public function getSource($name) {
$name = (string) $name;
if (!isset($this->templates[$name])) {
throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
}
return $this->templates[$name];
}
/**
* {@inheritdoc}
*/
public function exists($name) {
return isset($this->templates[(string) $name]);
}
/**
* {@inheritdoc}
*/
public function getCacheKey($name) {
$name = (string) $name;
if (!isset($this->templates[$name])) {
throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
}
return $this->templates[$name];
}
/**
* {@inheritdoc}
*/
public function isFresh($name, $time) {
$name = (string) $name;
if (!isset($this->templates[$name])) {
throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
}
return true;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Twig_Loader_Array:: |
protected | property | ||
Twig_Loader_Array:: |
public | function |
Check if we have the source code of a template, given its name. Overrides Twig_ExistsLoaderInterface:: |
|
Twig_Loader_Array:: |
public | function |
Gets the cache key to use for the cache for a given template name. Overrides Twig_LoaderInterface:: |
|
Twig_Loader_Array:: |
public | function |
Gets the source code of a template, given its name. Overrides Twig_LoaderInterface:: |
|
Twig_Loader_Array:: |
public | function |
Returns true if the template is still fresh. Overrides Twig_LoaderInterface:: |
|
Twig_Loader_Array:: |
public | function | Adds or overrides a template. | |
Twig_Loader_Array:: |
public | function | Constructor. |