<?php /** a Courtesy of Respect/Foundation */
date_default_timezone_set('UTC');
$paths = explode(PATH_SEPARATOR,get_include_path());
$paths[] = trim(`pear config-get php_dir`);
// See if composer is present then it should be picked up too
if (file_exists(dirname(__DIR__).'/vendor/composer')) {
$map = require dirname(__DIR__).'/vendor/composer/autoload_namespaces.php';
foreach ($map as $path)
$paths[] = $path;
}
natsort($paths);
array_unshift($paths, dirname(__DIR__) .'/src');
set_include_path(implode(PATH_SEPARATOR, array_unique($paths)));
/** Autoloader that implements the PSR-0 spec for interoperability between PHP software. */
spl_autoload_register(
function($className) {
static $composerClassmap;
if (!isset($composerClassmap) && file_exists(dirname(__DIR__).'/vendor/composer'))
$composerClassmap = require dirname(__DIR__).'/vendor/composer/autoload_classmap.php';
// Also consider composer classMap of course
if (isset($composerClassmap[$className]))
return require $composerClassmap[$className];
$fileParts = explode('\\', ltrim($className, '\\'));
if (false !== strpos(end($fileParts), '_'))
array_splice($fileParts, -1, 1, explode('_', current($fileParts)));
$file = implode(DIRECTORY_SEPARATOR, $fileParts) . '.php';
foreach (explode(PATH_SEPARATOR, get_include_path()) as $path) {
if (file_exists($path = $path . DIRECTORY_SEPARATOR . $file))
return require $path;
}
}
);
|