Merge pull request #602 from Seldaek/target_dir_autoload
Target dir autoloading for root packages, fixes #139main
commit
e74e218bdb
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// autoload.php generated by Composer
|
||||||
|
if (!class_exists('Composer\\Autoload\\ClassLoader', false)) {
|
||||||
|
require __DIR__.'/ClassLoader.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
return call_user_func(function() {
|
||||||
|
$loader = new \Composer\Autoload\ClassLoader();
|
||||||
|
|
||||||
|
$map = require __DIR__.'/autoload_namespaces.php';
|
||||||
|
foreach ($map as $namespace => $path) {
|
||||||
|
$loader->add($namespace, $path);
|
||||||
|
}
|
||||||
|
|
||||||
|
$classMap = require __DIR__.'/autoload_classmap.php';
|
||||||
|
if ($classMap) {
|
||||||
|
$loader->addClassMap($classMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
spl_autoload_register(function($class) {
|
||||||
|
$prefixes = array('Main\\Foo', 'Main\\Bar');
|
||||||
|
foreach ($prefixes as $prefix) {
|
||||||
|
if (0 !== strpos($class, $prefix)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$path = dirname(dirname(__DIR__)) . '/' . implode('/', array_slice(explode('\\', $class), 2)).'.php';
|
||||||
|
if (!stream_resolve_include_path($path)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
require_once $path;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$loader->register();
|
||||||
|
|
||||||
|
return $loader;
|
||||||
|
});
|
Loading…
Reference in New Issue