autoload_real_target_dir.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. // autoload_real.php generated by Composer
  3. class ComposerAutoloaderInitTargetDir
  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('ComposerAutoloaderInitTargetDir', 'loadClassLoader'), true, true);
  18. self::$loader = $loader = new \Composer\Autoload\ClassLoader();
  19. spl_autoload_unregister(array('ComposerAutoloaderInitTargetDir', 'loadClassLoader'));
  20. $vendorDir = dirname(__DIR__);
  21. $baseDir = dirname($vendorDir);
  22. $map = require __DIR__ . '/autoload_namespaces.php';
  23. foreach ($map as $namespace => $path) {
  24. $loader->add($namespace, $path);
  25. }
  26. $classMap = require __DIR__ . '/autoload_classmap.php';
  27. if ($classMap) {
  28. $loader->addClassMap($classMap);
  29. }
  30. spl_autoload_register(array('ComposerAutoloaderInitTargetDir', 'autoload'), true, true);
  31. $loader->register(true);
  32. require $baseDir . '/foo.php';
  33. require $baseDir . '/bar.php';
  34. return $loader;
  35. }
  36. public static function autoload($class)
  37. {
  38. $dir = dirname(dirname(__DIR__)) . '/';
  39. $prefixes = array('Main\\Foo', 'Main\\Bar');
  40. foreach ($prefixes as $prefix) {
  41. if (0 !== strpos($class, $prefix)) {
  42. continue;
  43. }
  44. $path = $dir . implode('/', array_slice(explode('\\', $class), 2)).'.php';
  45. if (!$path = stream_resolve_include_path($path)) {
  46. return false;
  47. }
  48. require $path;
  49. return true;
  50. }
  51. }
  52. }