Sto creando una classe zip personalizzata, che prende come base la classe nativa ZipArchive() di php.
Visti i limiti di scope del php, ho aggirato il problema di importazione dell'oggetto, in questo modo:

Codice PHP:
//messa all'esterno della classe
$zip = new ZipArchive();

class 
zip_functions{

  protected function 
_zip(){
    global 
$zip;
    return 
$zip;
  }

    [...]



Fin qui tutto bene, tramite il metodo _zip() posso recuperare l'oggetto perché la classe zip_functions me lo vede correttamente.

Il problema nasce quando uso i metodi di ZipArchive. Per esempio, ho creato un semplice metodo per aprire un file archivio:

Codice PHP:
public function open$filename null ){
   if( 
$filename === null ){
      return 
false;    
   }

   if( 
$this->_zip()->open($filename) === true ){ 
      return 
true
   } 

   return 
false;

Quando lo eseguo il php mi dice che non ha memoria sufficiente e butta fuori l'errore:
codice:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 65488 bytes)
Non capisco perché occupi tutta questa memoria. Avete qualche idea su come risolvere?