-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathautoload.php
39 lines (36 loc) · 984 Bytes
/
autoload.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
/**
* Created by PhpStorm.
* User: DrillCoder
* Date: 07.04.18
* Time: 20:36
*/
spl_autoload_register(
/**
* @param string $class
*/
function ($class) {
$prefixes = array(
'DrillCoder\AmoCRM_Wrap\\' => array(
__DIR__ . '/src',
__DIR__ . '/tests',
),
);
foreach ($prefixes as $prefix => $dirs) {
$prefix_len = mb_strlen($prefix);
if (mb_strpos($class, $prefix) !== 0) {
continue;
}
$class = mb_substr($class, $prefix_len);
$part = str_replace('\\', DIRECTORY_SEPARATOR, $class) . '.php';
foreach ($dirs as $dir) {
$dir = str_replace('/', DIRECTORY_SEPARATOR, $dir);
$file = $dir . DIRECTORY_SEPARATOR . $part;
if (is_readable($file)) {
require $file;
return;
}
}
}
}
);