diff options
Diffstat (limited to 'library/oauth2/src/OAuth2/Autoloader.php')
-rw-r--r-- | library/oauth2/src/OAuth2/Autoloader.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/library/oauth2/src/OAuth2/Autoloader.php b/library/oauth2/src/OAuth2/Autoloader.php new file mode 100644 index 000000000..ecfb6ba75 --- /dev/null +++ b/library/oauth2/src/OAuth2/Autoloader.php @@ -0,0 +1,48 @@ +<?php + +namespace OAuth2; + +/** + * Autoloads OAuth2 classes + * + * @author Brent Shaffer <bshafs at gmail dot com> + * @license MIT License + */ +class Autoloader +{ + private $dir; + + public function __construct($dir = null) + { + if (is_null($dir)) { + $dir = dirname(__FILE__).'/..'; + } + $this->dir = $dir; + } + /** + * Registers OAuth2\Autoloader as an SPL autoloader. + */ + public static function register($dir = null) + { + ini_set('unserialize_callback_func', 'spl_autoload_call'); + spl_autoload_register(array(new self($dir), 'autoload')); + } + + /** + * Handles autoloading of classes. + * + * @param string $class A class name. + * + * @return boolean Returns true if the class has been loaded + */ + public function autoload($class) + { + if (0 !== strpos($class, 'OAuth2')) { + return; + } + + if (file_exists($file = $this->dir.'/'.str_replace('\\', '/', $class).'.php')) { + require $file; + } + } +} |