autoload.php 969 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. /**
  3. * Simple autoloader that follow the PHP Standards Recommendation #0 (PSR-0)
  4. * @see https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md for more informations.
  5. *
  6. * Code inspired from the SplClassLoader RFC
  7. * @see https://wiki.php.net/rfc/splclassloader#example_implementation
  8. */
  9. spl_autoload_register(function($className) {
  10. $className = ltrim($className, '\\');
  11. if (0 != strpos($className, 'Identicon')) {
  12. return false;
  13. }
  14. $fileName = '';
  15. $namespace = '';
  16. if ($lastNsPos = strrpos($className, '\\')) {
  17. $namespace = substr($className, 0, $lastNsPos);
  18. $className = substr($className, $lastNsPos + 1);
  19. $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
  20. }
  21. $fileName = __DIR__ . DIRECTORY_SEPARATOR . $fileName . $className . '.php';
  22. if (is_file($fileName)) {
  23. require $fileName;
  24. return true;
  25. }
  26. return false;
  27. });