【发布时间】:2018-08-03 16:10:44
【问题描述】:
我想从声明了namespace 的页面中访问全局namespace 函数,而不必麻烦在每个函数之前添加\。
如何重置回全局命名空间?
示例:
<?php
namespace Stupid\Namespace;
$page = new page;
function zipUp() {
$zip = new ZipArchive();
//doesn't matter what the rest of this function is,
//because it will already have had a fatal error
//unless I add a leading \, like new \ZipArchive();
}
理想情况下,我只想声明全局命名空间,就像我可以使用其他命名空间一样,只是为了这个函数:
function zipUp() {
namespace \; \\ OR namespace global; etc.
$zip = new ZipArchive();
}
唯一可行的方法(我能找到)是将函数包装在大括号中(namespace { function foo(){...} },但是我必须将使用主命名空间的所有内容也包装在大括号中,这是不可行的。
希望我是愚蠢的并且错过了一些明显的东西,或者有一个很好的理由说明为什么应该如此基本的东西是不可能的,但我似乎找不到任何证据证明这两个原因。
【问题讨论】:
-
在命名空间声明后添加
use \ZipArchive;
标签: php namespaces