显然,具有绝对名称空间名称(\1\2\3)的自动加载类转换为实际的目录路径(1/2/Three.php)相当简单。
但是,我很好奇是否有任何方法可以使用名称空间名称相对实例化(在process中第一次)实例化的autoload类到当前名称空间(例如,从\1加载2\3)。
由于"__autoload“在全局命名空间中执行,并且只接受one参数(类名,包括命名空间组件),我看不出它如何知道在哪里查找该类。
但是,我假设某个PHP向导已经找到了解决这个问题的方法,因为总是按照类的绝对名称来指定类是非常不方便的。
提前感谢您的帮助!
发布于 2011-04-01 04:59:09
您总是在自动加载程序中获得完整的命名空间:
<?php
namespace {
function __autoload($class)
{
var_dump($class);die();
}
}
namespace One {
new Two\Three();
}
?>输出:
string(13) "One\Two\Three"https://stackoverflow.com/questions/4295609
复制相似问题