欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Anfora 自动装载类

程序员文章站 2022-03-13 17:25:43
1、目录结构 + Anfora | + Autoload | - ClassLoader.php | - Autoload.php - autoload.php 2、注册类加载器 src/Anfora/Autoload.php getLoader() 注册类加载器函数并注销 注册全局类加载 load ......

1、目录结构

+ Anfora

   | + Autoload

        | - ClassLoader.php

   | - Autoload.php

- autoload.php

 

2、注册类加载器

src/Anfora/Autoload.php

class Anfora_Autoload
{
    private static $loader;
    
    public static function loadClassLoader($class)
    {
        $class_name = trim($class, '\\');
        if ('Anfora\Autoload\ClassLoader' === $class_name) {
            require_once __DIR__ . '/Autoload/ClassLoader.php';
        }
    }
    
    public static function getLoader()
    {
        if (null !== self::$loader) {
            return self::$loader;
        }
        
        $autoload_function = array('Anfora_Autoload', 'loadClassLoader');
        spl_autoload_register($autoload_function, true, true);
        self::$loader = $loader = new \Anfora\Autoload\ClassLoader();
        spl_autoload_unregister($autoload_function);
        $loader->register(true);
        return $loader;
    }
}

getLoader()

注册类加载器函数并注销

注册全局类加载

 

loadClassLoader()

引入全局类加载

 

3、全局类装载

src/Anfora/Autoload/ClassLoader.php