Drupal启动的第一步就是创建自动加载器,自动加载器是什么呢?它是怎么产生的?
自动加载器:
在面向对象的PHP程序开发的时候,要实例化一个类对象则需要先加载(require或include)类定义文件,当PHP发现并没有包含类定义文件时,并不会立即报错,它会去一个列队里面依次调用里面定义的函数或者方法,如果在这个过程中类定义文件被加载了,则返回继续实例化对象,程序可以没有问题的继续执行,否则程序报错,那么这个列队里面的函数或方法是怎么来的呢?它是由用户定义好,然后通过spl_autoload_register()注册进去的,这就是php的自动加载机制,spl_autoload_register()的使用方法请见:
PHP: spl_autoload_register - Manual
Drupal是一个现代化的面向对象方式开发的软件,她即使用了这个自动加载机制,在实例化某个对象的时候,PHP依据类的完全限定名称(带名字空间前缀的类名)和文件路径的对应关系自动去 include文件,这个工作被封装在一个对象里面完成,这个对象的类定义文件位于:
\vendor\composer\ClassLoader.php
在\vendor\composer\文件夹下你会看到如下几个文件:
autoload_classma