Yii源码解读-类自动加载

408 查看

实现

Yii的类自动加载,依赖于PHP的spl_autoload_register(), 注册一个自己的自动加载函数(autoloader),并插入到自动加载函数栈的最前面,确保Yii的autoloader会被最先调用。

require(__DIR__ . '/../../vendor/autoload.php');

require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');

首先加载第三方的autoloader,再加载Yii的autoloader。

最后加载Yii的autoloader,这样可以保证Yii的优先加载。

Yii.php可以查看autoloader代码的调用,它将BaseYii::autoload()注册为autoloader。

其中调用的classes.php包涵了所有的核心类。

参考

  1. http://www.digpage.com/autoload.html