annotate vendor/twig/twig/lib/Twig/Autoloader.php @ 9:1fc0ff908d1f

Add another data file
author Chris Cannam
date Mon, 05 Feb 2018 12:34:32 +0000
parents 4c8ae668cc8c
children 129ea1e6d783
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of Twig.
Chris@0 5 *
Chris@0 6 * (c) Fabien Potencier
Chris@0 7 *
Chris@0 8 * For the full copyright and license information, please view the LICENSE
Chris@0 9 * file that was distributed with this source code.
Chris@0 10 */
Chris@0 11
Chris@0 12 @trigger_error('The Twig_Autoloader class is deprecated since version 1.21 and will be removed in 2.0. Use Composer instead.', E_USER_DEPRECATED);
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Autoloads Twig classes.
Chris@0 16 *
Chris@0 17 * @author Fabien Potencier <fabien@symfony.com>
Chris@0 18 *
Chris@0 19 * @deprecated since 1.21 and will be removed in 2.0. Use Composer instead. 2.0.
Chris@0 20 */
Chris@0 21 class Twig_Autoloader
Chris@0 22 {
Chris@0 23 /**
Chris@0 24 * Registers Twig_Autoloader as an SPL autoloader.
Chris@0 25 *
Chris@0 26 * @param bool $prepend whether to prepend the autoloader or not
Chris@0 27 */
Chris@0 28 public static function register($prepend = false)
Chris@0 29 {
Chris@0 30 @trigger_error('Using Twig_Autoloader is deprecated since version 1.21. Use Composer instead.', E_USER_DEPRECATED);
Chris@0 31
Chris@0 32 if (PHP_VERSION_ID < 50300) {
Chris@0 33 spl_autoload_register(array(__CLASS__, 'autoload'));
Chris@0 34 } else {
Chris@0 35 spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend);
Chris@0 36 }
Chris@0 37 }
Chris@0 38
Chris@0 39 /**
Chris@0 40 * Handles autoloading of classes.
Chris@0 41 *
Chris@0 42 * @param string $class a class name
Chris@0 43 */
Chris@0 44 public static function autoload($class)
Chris@0 45 {
Chris@0 46 if (0 !== strpos($class, 'Twig')) {
Chris@0 47 return;
Chris@0 48 }
Chris@0 49
Chris@0 50 if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) {
Chris@0 51 require $file;
Chris@0 52 }
Chris@0 53 }
Chris@0 54 }