include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。
这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。
为了解决这个问题,部分框架会给出一个引入文件的配置清单,在对象初始化的时候把需要的文件引入。但这只是让代码变得更简洁了一些,引入的效果仍然是差强人意。PHP5 之后,随着
PHP 面向对象支持的完善,__autoload 函数才真正使得自动加载成为可能。
https://www.cnblogs.com/woider/p/6443854.html
注:
命名空间是为了各自的组件不至于混淆错乱,本质上和自动加载没有关系;
自动加载规范来自psr,具体自己实现;
命名空间与系统目录有一定的对应关系,参考psr-4;
魔术方法__autoload()和spl_autoload_register()的使用;
最终都是include()/require()的组合;