autoload_real_include_path.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. // autoload_real.php generated by Composer
  3. class ComposerAutoloaderInitIncludePath
  4. {
  5. private static $loader;
  6. public static function loadClassLoader($class)
  7. {
  8. if ('Composer\Autoload\ClassLoader' === $class) {
  9. require __DIR__ . '/ClassLoader.php';
  10. }
  11. }
  12. public static function getLoader()
  13. {
  14. if (null !== self::$loader) {
  15. return self::$loader;
  16. }
  17. spl_autoload_register(array('ComposerAutoloaderInitIncludePath', 'loadClassLoader'), true, true);
  18. self::$loader = $loader = new \Composer\Autoload\ClassLoader();
  19. spl_autoload_unregister(array('ComposerAutoloaderInitIncludePath', 'loadClassLoader'));
  20. $vendorDir = dirname(__DIR__);
  21. $baseDir = dirname($vendorDir);
  22. $map = require __DIR__ . '/autoload_namespaces.php';
  23. foreach ($map as $namespace => $path) {
  24. $loader->set($namespace, $path);
  25. }
  26. $classMap = require __DIR__ . '/autoload_classmap.php';
  27. if ($classMap) {
  28. $loader->addClassMap($classMap);
  29. }
  30. $loader->setUseIncludePath(true);
  31. spl_autoload_register(array('ComposerAutoloaderInitIncludePath', 'autoload'), true, true);
  32. $loader->register(true);
  33. return $loader;
  34. }
  35. public static function autoload($class)
  36. {
  37. $dir = dirname(dirname(__DIR__)) . '/';
  38. $prefixes = array('Main\\Foo', 'Main\\Bar');
  39. foreach ($prefixes as $prefix) {
  40. if (0 !== strpos($class, $prefix)) {
  41. continue;
  42. }
  43. $path = $dir . implode('/', array_slice(explode('\\', $class), 2)).'.php';
  44. if (!$path = stream_resolve_include_path($path)) {
  45. return false;
  46. }
  47. require $path;
  48. return true;
  49. }
  50. }
  51. }