命名空间与自动加载机制

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()的组合;

原文地址:https://www.cnblogs.com/thingk/p/7999155.html