通常,我会看到复杂的自动加载解决方案,这些解决方案需要用户使用一组预定义的路径/目录来补充它们,以便在自动加载类时查看这些路径/目录。或者他们有一个复杂的类似全局的搜索,然后构建一个缓存文件以减少查找时间等。
但是,我注意到,只要您为每个类命名,并且这些命名空间与包含它们的目录结构相匹配,那么您的自动加载器不需要比这更复杂:
spl_autoload_register(function ($class) {
include $class . '.php';
});
假设您不必使用非命名空间的第 3 方类,是否有理由不根据您的文件夹结构来命名您的类,然后让 spl_autoload_register 为您处理所有事情?
我忽略了这个陷阱吗?