aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/simplepie/simplepie/autoloader.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/simplepie/simplepie/autoloader.php')
-rw-r--r--vendor/simplepie/simplepie/autoloader.php45
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
+}