'Google_Client', 'Google\\Service' => 'Google_Service', 'Google\\Service\\Resource' => 'Google_Service_Resource', 'Google\\Model' => 'Google_Model', 'Google\\Collection' => 'Google_Collection', ]; foreach ($servicesClassMap as $alias => $class) { class_alias($class, $alias); } } } spl_autoload_register(function ($class) { if (0 === strpos($class, 'Google_Service_')) { // Autoload the new class, which will also create an alias for the // old class by changing underscores to namespaces: // Google_Service_Speech_Resource_Operations // => Google\Service\Speech\Resource\Operations $classExists = class_exists($newClass = str_replace('_', '\\', $class)); if ($classExists) { return true; } } elseif (0 === strpos($class, 'Google\\Service\\')) { $relativeClass = substr($class, strlen('Google\\Service\\')); $parts = explode('\\', $relativeClass); $leaf = array_pop($parts); if (strlen($leaf) > 139) { $shortenedLeaf = substr($leaf, 0, 80) . '_' . strtoupper(substr(md5($leaf), 0, 8)); $subPath = implode('/', $parts); $filePath = __DIR__ . '/src/' . ($subPath ? $subPath . '/' : '') . $shortenedLeaf . '.php'; if (file_exists($filePath)) { require_once $filePath; return true; } } } }, true, true);