MENU

#03: Composer 加载原理 —— 注册

January 21, 2020 • Laravel 源码

在引导部分,少讲了一行代码:

// vendor/composer/autoload_real.php

public static function getLoader()
{
    // ...

   $loader->register(true);

    // ...
}

而它的作用就是注册给定的函数作为 __autoload 的实现,简单说就是当我们使用了未知的类时,就会自动出发该函数,具体跳转过去就能看到:

// vendor/composer/ClassLoader.phppublic function register($prepend = false)
{
    spl_autoload_register(array($this, 'loadClass'), true, $prepend);
}

这里是注册了 ClassLoader 类实例中的 loadClass 方法。