Line | |
---|
1 | <?php |
---|
2 | |
---|
3 | /* |
---|
4 | * This file is part of Twig. |
---|
5 | * |
---|
6 | * (c) 2009 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 | * Autoloads Twig classes. |
---|
14 | * |
---|
15 | * @package twig |
---|
16 | * @author Fabien Potencier <fabien.potencier@symfony-project.com> |
---|
17 | */ |
---|
18 | class Twig_Autoloader |
---|
19 | { |
---|
20 | /** |
---|
21 | * Registers Twig_Autoloader as an SPL autoloader. |
---|
22 | */ |
---|
23 | static public function register() |
---|
24 | { |
---|
25 | ini_set('unserialize_callback_func', 'spl_autoload_call'); |
---|
26 | spl_autoload_register(array(new self, 'autoload')); |
---|
27 | } |
---|
28 | |
---|
29 | /** |
---|
30 | * Handles autoloading of classes. |
---|
31 | * |
---|
32 | * @param string $class A class name. |
---|
33 | * |
---|
34 | * @return boolean Returns true if the class has been loaded |
---|
35 | */ |
---|
36 | static public function autoload($class) |
---|
37 | { |
---|
38 | if (0 !== strpos($class, 'Twig')) { |
---|
39 | return; |
---|
40 | } |
---|
41 | |
---|
42 | if (file_exists($file = dirname(__FILE__).'/../'.str_replace('_', '/', $class).'.php')) { |
---|
43 | require $file; |
---|
44 | } |
---|
45 | } |
---|
46 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.