Differences Between: [Versions 310 and 311] [Versions 39 and 311]
1 <?php 2 3 namespace Complex; 4 5 /** 6 * 7 * Autoloader for Complex classes 8 * 9 * @package Complex 10 * @copyright Copyright (c) 2014 Mark Baker (https://github.com/MarkBaker/PHPComplex) 11 * @license https://opensource.org/licenses/MIT MIT 12 */ 13 class Autoloader 14 { 15 /** 16 * Register the Autoloader with SPL 17 * 18 */ 19 public static function Register() 20 { 21 if (function_exists('__autoload')) { 22 // Register any existing autoloader function with SPL, so we don't get any clashes 23 spl_autoload_register('__autoload'); 24 } 25 // Register ourselves with SPL 26 return spl_autoload_register(['Complex\\Autoloader', 'Load']); 27 } 28 29 30 /** 31 * Autoload a class identified by name 32 * 33 * @param string $pClassName Name of the object to load 34 */ 35 public static function Load($pClassName) 36 { 37 if ((class_exists($pClassName, false)) || (strpos($pClassName, 'Complex\\') !== 0)) { 38 // Either already loaded, or not a Complex class request 39 return false; 40 } 41 42 $pClassFilePath = __DIR__ . DIRECTORY_SEPARATOR . 43 'src' . DIRECTORY_SEPARATOR . 44 str_replace(['Complex\\', '\\'], ['', '/'], $pClassName) . 45 '.php'; 46 47 if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) { 48 // Can't load 49 return false; 50 } 51 require($pClassFilePath); 52 } 53 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body