博主的测试研究环境如下:
Composer version 2.1.12
php7.0
-
我们知道使用三方框架时,只需要在composer.json文件上添加,并执行composer install/update,然后就可以愉快地在代码中使用三方框架了,也不需要烦人的require。那么为什么不需要require?下面我们开始从源码角度分析
-
compsoser源码结构很简单,就这些
-
总所周知,一般我们程序入口会有类似这么一句代码
require 'vendor/autoload.php';
其实这就是composer的自动加载入口了,autoload.php源码:
<?php
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitcdbbc77c24e32a7c339408ee8683a7d0::getLoader();
只有两句代码,进入getLoader()函数看看(为简洁,忽略掉非核心逻辑代码)
此外,getLoader其实是’autoload_real.php’文件中的一个函数,所以调用前被引入了
public static function getLoader()
{
..