| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | <?phpnamespace Complex;/** * * Autoloader for Complex classes * * @package Complex * @copyright  Copyright (c) 2014 Mark Baker (https://github.com/MarkBaker/PHPComplex) * @license    https://opensource.org/licenses/MIT          MIT */class Autoloader{    /**     * Register the Autoloader with SPL     *     */    public static function Register()    {        if (function_exists('__autoload')) {            //    Register any existing autoloader function with SPL, so we don't get any clashes            spl_autoload_register('__autoload');        }        //    Register ourselves with SPL        return spl_autoload_register(['Complex\\Autoloader', 'Load']);    }    /**     * Autoload a class identified by name     *     * @param    string    $pClassName    Name of the object to load     */    public static function Load($pClassName)    {        if ((class_exists($pClassName, false)) || (strpos($pClassName, 'Complex\\') !== 0)) {            // Either already loaded, or not a Complex class request            return false;        }        $pClassFilePath = __DIR__ . DIRECTORY_SEPARATOR .                          'src' . DIRECTORY_SEPARATOR .                          str_replace(['Complex\\', '\\'], ['', '/'], $pClassName) .                          '.php';        if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) {            // Can't load            return false;        }        require($pClassFilePath);    }}
 |