You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.1 KiB
54 lines
1.1 KiB
<?php |
|
|
|
namespace OAuth2; |
|
|
|
/** |
|
* Autoloads OAuth2 classes |
|
* |
|
* @author Brent Shaffer <bshafs at gmail dot com> |
|
* @license MIT License |
|
*/ |
|
class Autoloader |
|
{ |
|
/** |
|
* @var string |
|
*/ |
|
private $dir; |
|
|
|
/** |
|
* @param string $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; |
|
} |
|
} |
|
}
|
|
|