Php扩展zip,ZipArchive不适用于名称空间

时间:2012-02-11 00:05:06

标签: php namespaces pecl ziparchive

示例代码:

namespace myns;

$zip = new ZipArchive;
$zip->open('/var/www/less/less_1.zip');

for ($i = 0; $i < $zip->numFiles; $i++) {
    echo $zip->getNameIndex($i);
}

当我尝试创建命名空间并使用ZipArchive时,我有一个错误:

PHP Fatal error:  Class 'myns\ZipArchive' not found 
in /var/www/less/test.php on line 4

没有命名空间'myns'就行了。

我会很感激任何想法。

2 个答案:

答案 0 :(得分:7)

您只需使用“global”命名空间访问它:

namespace myns;

$zip = new \ZipArchive;

有关详细信息,请参阅namespaces documentation

答案 1 :(得分:0)

如果系统中缺少:

sudo apt install php-zip

从php中的全局空间获取

$zip = new ZipArchive();

从名称空间(无括号):

namespace ZipSpace;
function zip(){
   $zip = new \ZipArchive;
   // ....
}

在名称空间中的任何地方都使用\来引用全局。

致电:

\ZipSpace\zip()