Просмотр файла engine/classes/lib/Twig/Autoloader.php

Размер файла: 1.13Kb
  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. * @author Fabien Potencier <fabien@symfony.com>
  16. */
  17. class Twig_Autoloader
  18. {
  19. /**
  20. * Registers Twig_Autoloader as an SPL autoloader.
  21. *
  22. * @param Boolean $prepend Whether to prepend the autoloader or not.
  23. */
  24. public static function register($prepend = false)
  25. {
  26. if (version_compare(phpversion(), '5.3.0', '>=')) {
  27. spl_autoload_register(array(new self, 'autoload'), true, $prepend);
  28. } else {
  29. spl_autoload_register(array(new self, 'autoload'));
  30. }
  31. }
  32.  
  33. /**
  34. * Handles autoloading of classes.
  35. *
  36. * @param string $class A class name.
  37. */
  38. public static function autoload($class)
  39. {
  40. if (0 !== strpos($class, 'Twig')) {
  41. return;
  42. }
  43.  
  44. if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) {
  45. require $file;
  46. }
  47. }
  48. }