annotate vendor/psy/psysh/src/Psy/Autoloader.php @ 7:848c88cfe644

More layout
author Chris Cannam
date Fri, 05 Jan 2018 13:59:44 +0000
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of Psy Shell.
Chris@0 5 *
Chris@0 6 * (c) 2012-2017 Justin Hileman
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 namespace Psy;
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Psy class autoloader.
Chris@0 16 */
Chris@0 17 class Autoloader
Chris@0 18 {
Chris@0 19 /**
Chris@0 20 * Register autoload() as an SPL autoloader.
Chris@0 21 *
Chris@0 22 * @see self::autoload
Chris@0 23 */
Chris@0 24 public static function register()
Chris@0 25 {
Chris@0 26 spl_autoload_register(array(__CLASS__, 'autoload'));
Chris@0 27 }
Chris@0 28
Chris@0 29 /**
Chris@0 30 * Autoload Psy classes.
Chris@0 31 *
Chris@0 32 * @param string $class
Chris@0 33 */
Chris@0 34 public static function autoload($class)
Chris@0 35 {
Chris@0 36 if (0 !== strpos($class, 'Psy')) {
Chris@0 37 return;
Chris@0 38 }
Chris@0 39
Chris@0 40 $file = dirname(__DIR__) . '/' . strtr($class, '\\', '/') . '.php';
Chris@0 41 if (is_file($file)) {
Chris@0 42 require $file;
Chris@0 43 }
Chris@0 44 }
Chris@0 45 }