diff options
Diffstat (limited to 'vendor/simplepie/simplepie/autoloader.php')
-rw-r--r-- | vendor/simplepie/simplepie/autoloader.php | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/vendor/simplepie/simplepie/autoloader.php b/vendor/simplepie/simplepie/autoloader.php index bf34a7003..a19c25476 100644 --- a/vendor/simplepie/simplepie/autoloader.php +++ b/vendor/simplepie/simplepie/autoloader.php @@ -5,7 +5,7 @@ * A PHP-Based RSS and Atom Feed Framework. * Takes the hard work out of managing a complete RSS/Atom solution. * - * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors + * Copyright (c) 2004-2022, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are @@ -42,6 +42,47 @@ */ +/** + * PSR-4 implementation for SimplePie. + * + * After registering this autoload function with SPL, the following line + * would cause the function to attempt to load the \SimplePie\SimplePie class + * from /src/SimplePie.php: + * + * new \SimplePie\SimplePie(); + * + * @param string $class The fully-qualified class name. + * @return void + */ +spl_autoload_register(function ($class) { + + // project-specific namespace prefix + $prefix = 'SimplePie\\'; + + // base directory for the namespace prefix + $base_dir = __DIR__ . '/src/'; + + // does the class use the namespace prefix? + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + // no, move to the next registered autoloader + return; + } + + // get the relative class name + $relative_class = substr($class, $len); + + // replace the namespace prefix with the base directory, replace namespace + // separators with directory separators in the relative class name, append + // with .php + $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php'; + + // if the file exists, require it + if (file_exists($file)) { + require $file; + } +}); + // autoloader spl_autoload_register(array(new SimplePie_Autoloader(), 'autoload')); @@ -84,4 +125,4 @@ class SimplePie_Autoloader $filename = $this->path . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php'; include $filename; } -}
\ No newline at end of file +} |