这是在单个文件中使用 PHP 命名空间/自动加载的实验。
namespace trust;
class trust_network{
public function __construct(){
print "SUP";
}
}
namespace trust2;
$trust = new \trust\trust_network(); $do = new \test();
function __autoload($class){
require($class.".php");
print $class;
}
因此,在命名空间 trust2 下,我正在调用“\test” - 也就是我想从全局基础上的外部文件自动加载该类。我写的不起作用。我知道我在命名空间下有 __autoload,但我如何在全局基础上声明它?不能在命名空间声明之前包含。
最佳答案
对于一个文件中的多个命名空间,您应该使用大括号语法:
namespace n1 {
...
}
namespace n2 {
...
}
namespace {
...
}
在最后一个块中,您可以在全局命名空间中声明函数。引用:http://www.php.net/manual/en/language.namespaces.definitionmultiple.php
关于PHP 命名空间和全局自动加载单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15009432/