在浏览了网络之后,我设法构建了一个有效的 SPL_Autoload 并在其中使用了命名空间。它确实有效,但与我正在查看的所有示例和文档相比,它对我来说也有点奇怪。我是否在使用一切并正确理解它?
$class 查找一个名为 subdir\timer 的类,因为它找不到它,所以它转到 SPL_autoload
$class = new subdir\timer;
SPL_autoload 假设在文件夹“subdir”中查找文件“timer”以 .php 或 .class.php 结尾的文件(感谢 SPL_extensions)
现在我不太确定寄存器和 SPL_autoload 中发生了什么。当我尝试自行注册时,它没有使用 _extensions,但是当我添加 spl_autoload 时它工作正常。唯一的问题是我从未在任何示例中看到过这样的设置,所以我真的质疑这部分
spl_autoload_extensions(".php,.class.php");
spl_autoload_register(function($class){
spl_autoload("$class");
});
你觉得有什么可以改进的或者我做错了什么吗?