autoload.php 752 B

123456789101112131415161718192021
  1. <?php
  2. define("GOOGLE_INTERNAL_NAMESPACE", "Google\\Protobuf\\Internal\\");
  3. define("GOOGLE_NAMESPACE", "Google\\Protobuf\\");
  4. define("GOOGLE_GPBMETADATA_NAMESPACE", "GPBMetadata\\Google\\Protobuf\\");
  5. function protobuf_autoloader_impl($class, $prefix) {
  6. $length = strlen($prefix);
  7. if ((substr($class, 0, $length) === $prefix)) {
  8. $path = '../php/src/' . implode('/', array_map('ucwords', explode('\\', $class))) . '.php';
  9. include_once $path;
  10. }
  11. }
  12. function protobuf_autoloader($class) {
  13. protobuf_autoloader_impl($class, GOOGLE_INTERNAL_NAMESPACE);
  14. protobuf_autoloader_impl($class, GOOGLE_NAMESPACE);
  15. protobuf_autoloader_impl($class, GOOGLE_GPBMETADATA_NAMESPACE);
  16. }
  17. spl_autoload_register('protobuf_autoloader');