Skip to content

Commit a721134

Browse files
committed
Autoload function for Google_* classes
Addresses googleapis#341
1 parent 5ad4812 commit a721134

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

autoload.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
/*
3+
* Copyright 2014 Google Inc.
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
function google_api_php_client_autoload($className) {
19+
$classPath = explode('_', $className);
20+
if ($classPath[0] != 'Google') {
21+
return;
22+
}
23+
if (count($classPath) > 3) {
24+
// Maximum class file path depth in this project is 3.
25+
$classPath = array_slice($className, 0, 3);
26+
}
27+
$filePath = dirname(__FILE__) . '/src/' . implode('/', $classPath) . '.php';
28+
if (file_exists($filePath)) {
29+
require_once($filePath);
30+
}
31+
}
32+
33+
spl_autoload_register('google_api_php_client_autoload');

0 commit comments

Comments
 (0)