28 lines
680 B
PHP
28 lines
680 B
PHP
<?php
|
|
namespace Mcp;
|
|
|
|
class Autoloader {
|
|
|
|
private string $appPath;
|
|
private string $libPath;
|
|
|
|
public function __construct($basedir)
|
|
{
|
|
$this->appPath = $basedir.DIRECTORY_SEPARATOR.'app'.DIRECTORY_SEPARATOR;
|
|
$this->libPath = $basedir.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR;
|
|
}
|
|
|
|
public function load($className) {
|
|
$parts = explode('\\', $className);
|
|
$len = count($parts);
|
|
|
|
$res = $parts[0] === 'Mcp' ? $this->appPath : $this->libPath;
|
|
for ($i = 1; $i < $len - 1; $i++) {
|
|
$res = $res.strtolower($parts[$i]).DIRECTORY_SEPARATOR;
|
|
}
|
|
|
|
require $res.$parts[$len - 1].'.php';
|
|
}
|
|
|
|
}
|