-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautoload.php
More file actions
30 lines (23 loc) · 728 Bytes
/
autoload.php
File metadata and controls
30 lines (23 loc) · 728 Bytes
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
<?php
$namespaceMap = [
"Rockberpro\\RestRouter\\" => "src/",
"Rockberpro\\RestRouter\\Controllers\\" => "controllers/",
"Rockberpro\\RestRouter\\Routes\\" => "routes/"
];
spl_autoload_register(function(string $classname) use ($namespaceMap) {
foreach($namespaceMap as $namespace => $folder)
{
$class = explode($namespace, $classname);
if (!isset($class[1])) {
return;
}
$file = $folder . str_replace('\\', DIRECTORY_SEPARATOR, $class[1]) . '.php';
if (!file_exists($file)) {
continue;
}
require_once $file;
if (!interface_exists($classname) && !class_exists($classname)) {
return;
}
}
});