-
Notifications
You must be signed in to change notification settings - Fork 44
/
autoload.php
29 lines (22 loc) · 952 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
<?php
function autoload($className)
{
// echo '-- ' . $className;
// базовая диретория, которая является корнем автозагрузки
$baseDir = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR;
$className = ltrim($className, '\\');
$fileName = '';
$fileName .= $baseDir;
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName .= str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
//echo $fileName;
require $fileName;
}
// регистрируем функцию автозагрузки
spl_autoload_register('autoload');
require_once __DIR__ . '/vendor/autoload.php';