我命名了一个类以利用别名为一些长类名提供简写:
namespace some_namespace;
use \VeryLongClassnameWhichIUseOften as Short;
class MyClass {
public static method do_stuff() {
Short::do_something(Short::do_other_stuff());
}
}
现在有一些第三方代码需要MyClass
在全局命名空间中。
我可以以某种方式导出MyClass
到全局命名空间吗?
我试过了
class \MyClass {
...
}
但显然这是不允许的(意外的 T_NS_SEPARATOR,期待 T_STRING)。
我也试过这个:
namespace some_namespace {
use \VeryLongClassnameWhichIUseOften as Short;
class MyClass {
...
}
}
namespace {
use \some_namespace\MyClass as MyClass;
}
这不会引发任何其他错误,但 MyClass 在全局命名空间中仍然不可用(找不到类“MyClass”)。我不太明白为什么。