1ffe3c632Sopenharmony_ci<?php 2ffe3c632Sopenharmony_ci 3ffe3c632Sopenharmony_cidefine("GOOGLE_INTERNAL_NAMESPACE", "Google\\Protobuf\\Internal\\"); 4ffe3c632Sopenharmony_cidefine("GOOGLE_NAMESPACE", "Google\\Protobuf\\"); 5ffe3c632Sopenharmony_cidefine("GOOGLE_GPBMETADATA_NAMESPACE", "GPBMetadata\\Google\\Protobuf\\"); 6ffe3c632Sopenharmony_cidefine("BENCHMARK_NAMESPACE", "Benchmarks"); 7ffe3c632Sopenharmony_cidefine("BENCHMARK_GPBMETADATA_NAMESPACE", "GPBMetadata\\Benchmarks"); 8ffe3c632Sopenharmony_ci 9ffe3c632Sopenharmony_cifunction protobuf_autoloader_impl($class, $prefix, $include_path) { 10ffe3c632Sopenharmony_ci $length = strlen($prefix); 11ffe3c632Sopenharmony_ci if ((substr($class, 0, $length) === $prefix)) { 12ffe3c632Sopenharmony_ci $path = $include_path . '/' . implode('/', array_map('ucwords', explode('\\', $class))) . '.php'; 13ffe3c632Sopenharmony_ci include_once $path; 14ffe3c632Sopenharmony_ci } 15ffe3c632Sopenharmony_ci} 16ffe3c632Sopenharmony_ci 17ffe3c632Sopenharmony_cifunction protobuf_autoloader($class) { 18ffe3c632Sopenharmony_ci protobuf_autoloader_impl($class, GOOGLE_INTERNAL_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR')); 19ffe3c632Sopenharmony_ci protobuf_autoloader_impl($class, GOOGLE_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR')); 20ffe3c632Sopenharmony_ci protobuf_autoloader_impl($class, GOOGLE_GPBMETADATA_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR')); 21ffe3c632Sopenharmony_ci protobuf_autoloader_impl($class, BENCHMARK_NAMESPACE, getenv('CURRENT_DIR')); 22ffe3c632Sopenharmony_ci protobuf_autoloader_impl($class, BENCHMARK_GPBMETADATA_NAMESPACE, getenv('CURRENT_DIR')); 23ffe3c632Sopenharmony_ci} 24ffe3c632Sopenharmony_ci 25ffe3c632Sopenharmony_cispl_autoload_register('protobuf_autoloader'); 26