mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-20 12:30:56 +01:00
45 lines
1 KiB
PHP
45 lines
1 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace RESTful;
|
||
|
|
||
|
/**
|
||
|
* Bootstrapper for RESTful does autoloading.
|
||
|
*/
|
||
|
class Bootstrap
|
||
|
{
|
||
|
const DIR_SEPARATOR = DIRECTORY_SEPARATOR;
|
||
|
const NAMESPACE_SEPARATOR = '\\';
|
||
|
|
||
|
public static $initialized = false;
|
||
|
|
||
|
|
||
|
public static function init()
|
||
|
{
|
||
|
spl_autoload_register(array('\RESTful\Bootstrap', 'autoload'));
|
||
|
}
|
||
|
|
||
|
public static function autoload($classname)
|
||
|
{
|
||
|
self::_autoload(dirname(dirname(__FILE__)), $classname);
|
||
|
}
|
||
|
|
||
|
public static function pharInit()
|
||
|
{
|
||
|
spl_autoload_register(array('\RESTful\Bootstrap', 'pharAutoload'));
|
||
|
}
|
||
|
|
||
|
public static function pharAutoload($classname)
|
||
|
{
|
||
|
self::_autoload('phar://restful.phar', $classname);
|
||
|
}
|
||
|
|
||
|
private static function _autoload($base, $classname)
|
||
|
{
|
||
|
$parts = explode(self::NAMESPACE_SEPARATOR, $classname);
|
||
|
$path = $base . self::DIR_SEPARATOR . implode(self::DIR_SEPARATOR, $parts) . '.php';
|
||
|
if (file_exists($path)) {
|
||
|
require_once($path);
|
||
|
}
|
||
|
}
|
||
|
}
|