diff options
Diffstat (limited to 'inc/lib/Twig/Autoloader.php')
| -rw-r--r-- | inc/lib/Twig/Autoloader.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/inc/lib/Twig/Autoloader.php b/inc/lib/Twig/Autoloader.php new file mode 100644 index 00000000..a93b8caf --- /dev/null +++ b/inc/lib/Twig/Autoloader.php @@ -0,0 +1,46 @@ +<?php + +/* + * This file is part of Twig. + * + * (c) 2009 Fabien Potencier + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Autoloads Twig classes. + * + * @package twig + * @author Fabien Potencier <fabien@symfony.com> + */ +class Twig_Autoloader +{ + /** + * Registers Twig_Autoloader as an SPL autoloader. + */ + static public function register() + { + ini_set('unserialize_callback_func', 'spl_autoload_call'); + spl_autoload_register(array(new self, 'autoload')); + } + + /** + * Handles autoloading of classes. + * + * @param string $class A class name. + * + * @return boolean Returns true if the class has been loaded + */ + static public function autoload($class) + { + if (0 !== strpos($class, 'Twig')) { + return; + } + + if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) { + require $file; + } + } +} |
