2cdaded1d24d18e7385850c16473684b32acf288
[yaffs-website] / vendor / twig / twig / lib / Twig / FactoryRuntimeLoader.php
1 <?php
2
3 /*
4  * This file is part of Twig.
5  *
6  * (c) Fabien Potencier
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 /**
13  * Lazy loads the runtime implementations for a Twig element.
14  *
15  * @author Robin Chalas <robin.chalas@gmail.com>
16  */
17 class Twig_FactoryRuntimeLoader implements Twig_RuntimeLoaderInterface
18 {
19     private $map;
20
21     /**
22      * @param array $map An array where keys are class names and values factory callables
23      */
24     public function __construct($map = array())
25     {
26         $this->map = $map;
27     }
28
29     public function load($class)
30     {
31         if (isset($this->map[$class])) {
32             $runtimeFactory = $this->map[$class];
33
34             return $runtimeFactory();
35         }
36     }
37 }
38
39 class_alias('Twig_FactoryRuntimeLoader', 'Twig\RuntimeLoader\FactoryRuntimeLoader', false);