本文主要是介绍云客Drupal源码分析之自动加载器与Composer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
自动加载器:
drupal启动的第一步就是创建自动加载器,自动加载器是什么玩意?它是怎么产生的?
在面向对象的php程序开发的时候,要实例化一个类对象则需要先加载类定义文件,当php发现并没有包含类定义文件时,并不会立即报错,它会去一个列队里面依次调用里面定义的函数或者方法,如果在这个过程中类定义文件被加载了,则返回继续实例化对象,程序可以没有问题的继续执行,否则程序报错,那么这个列队里面的函数或方法是怎么来的呢?它是由用户定义好,然后通过spl_autoload_register()注册进去的,这就是php的自动加载机制,spl_autoload_register()的使用方法请见http://www.php.net/manual/zh/function.spl-autoload-register.php
drupal8就使用了这个自动加载机制,在实例化某个对象的时候,php通过类的完全限定名称(带名字空间前缀的类名)到文件路径的对应关系自动去 include文件,这个工作被封装在一个对象里面完成,这个对象的类定义文件位于\vendor\composer\ClassLoader.php
在\vendor\composer\文件夹下你会看到如下几个文件:
autoload_classmap.php 里面是类到类定义文件的映射关系图
autoload_files.php 里面是全局需要加载的函数
autoload_namespaces.php 里面是<
这篇关于云客Drupal源码分析之自动加载器与Composer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!