2017-01-27 11 views
0

Я хотел бы использовать стандартный класс PHP Zip в сущности в CakePHP.Использовать Zip-класс в CakePHP 3.x

Я называю $zip = new ZipArchive();

Но у меня есть ошибка.

Error: Class 'App\Controller\ZipArchive' not found

Как использовать/использовать этот класс?

Это, вероятно, проблема пространства имен, но я не знаю, как настроить ...

<?php 

namespace App\Controller; 

use App\Controller\AppController; 
use Cake\Event\Event; 
use Cake\ORM\TableRegistry; 

class ArchivesController extends AppController 
{ 
... 
} 

Большое спасибо

+1

ли вы имеете в виду стандартный PHP класс 'ZipArchive' или некоторые Утилита CakePHP? Потому что первое принадлежит корневому пространству имен. В любом случае невозможно сказать, что не так с вашим кодом, если вы спрячете его от нас. Пожалуйста, отредактируйте вопрос и предоставьте некоторую информацию. –

+1

«Это, вероятно, проблема пространства имен, но я не знаю, как его настроить ...» - и вы не подумали, что это может быть хорошим моментом для чтения http://php.net/manual/en/ language.namespaces.basics.php? – burzum

ответ

1

Вы забыли ведущий обратный слэш:

$zip = new \ZipArchive(); 

Namespaces не слишком отличаются от путей файловой системы. Если у вас есть это:

mkdir /foo.txt 
cd /home/jim 

... вы не можете сделать это:

type foo.txt 

Понадобится:

type /foo.txt 
+0

Большое спасибо! –

+0

Привет, я пытался добавить ведущую обратную косую черту, как вы сказали, но получаю сообщение об ошибке: > Ошибка: Class «ZipArchive» не найден также попытался поставить 'использовать ZipArchive;' после 'имен App \ Controller;' а это не сработает. Есть идеи? –