gpt4 book ai didi

php - 自动加载具有与目录结构相对应的命名空间名称(绝对和相对)的类

转载 作者:行者123 更新时间:2023-12-04 16:52:06 25 4
gpt4 key购买 nike

显然,使用绝对命名空间名称 (\One\Two\Three) 转换为实际目录路径 (One/Two/Three.php) 的自动加载类相当简单。

但是,我很好奇是否有任何方法可以使用命名空间名称 自动加载已实例化(在 PHP 进程中第一次)的类。亲戚 到当前命名空间(例如,从\One 加载 Two\Three)。

由于“__autoload”在 中执行全局命名空间,只接受 参数(类名,包括命名空间组件)我看不出它如何知道在哪里查找类。

但是,我认为某些 PHP 向导已经找到了解决方案,因为总是通过绝对命名空间名称来指定类会非常不方便。

在此先感谢您的帮助!

最佳答案

您总是会在自动加载器中获得完整的命名空间:

<?php
namespace {
function __autoload($class)
{
var_dump($class);die();
}
}

namespace One {
new Two\Three();
}
?>

输出:
string(13) "One\Two\Three"

关于php - 自动加载具有与目录结构相对应的命名空间名称(绝对和相对)的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4295609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com