PHP自动导入类

php

浏览数:335

2019-1-7


自动require出所需要的类文件,支持PSR系列规范

spl_autoload_register(function ($class) {
    $classNames = explode('\\',$class);
    if (count($classNames)>1) {
        switch ($classNames[0]) {
            case 'core':
                $prefix = $classNames[0] . '\\';
                $base_dir = __DIR__ . '\\..\\core\\';
                break;
            case 'app':
                $prefix = 'app\\';
                $base_dir = __DIR__ . '\\..\\App\\';
                break;
        }
    }
    $len = strlen($prefix);
    $relative_class = substr($class, $len);
    $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
    if (file_exists($file)) {
        require $file;
    }
});