Autoload.php 734 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace PhpLife;
  3. // 设置自动加载
  4. spl_autoload_register('\PhpLife\Autoload::main');
  5. class Autoload
  6. {
  7. /**
  8. * 自动加载
  9. * @param $className
  10. */
  11. public static function main($className)
  12. {
  13. $file = trim($className, '\\');
  14. $file = explode('\\', $file);
  15. // 判断顶级命名空间
  16. $path = __DIR__;
  17. $topNameSpace = array_shift($file);
  18. if ($topNameSpace != 'PhpLife') {
  19. $path = $path . DIRECTORY_SEPARATOR . 'Vendor' . DIRECTORY_SEPARATOR . $topNameSpace;
  20. }
  21. $file = $path . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $file) . '.php';
  22. if (is_file($file)) {
  23. require_once($file);
  24. }
  25. }
  26. }