Buongiorno a tutti.
Sto cercando di implementare un'applicazione di browsing FTP tramite PHP5, ma non riesco a capire il comportamento del linguaggio riguardo le variabili di classe.

Vi posto il codice per chiarezza.
codice:
<?php

class FTPDriver{
	private $ftp_conn;
		
	function __construct($ftp_host, $ftp_use, $ftp_pass){ // apre la connessione al server FTP
		$this->ftp_conn = ftp_connect($ftp_host)
			or die("FUCK!!!");			
		ftp_login($this->ftp_conn, $ftp_user, $ftp_pass)
			or die("FUCK YOU TOO!!!");
			print($this->ftp_conn);
	}	
	
	function __deconstruct(){// chiude la connessione al database
	  ftp_close($this->ftp_conn)
		or die("Errore durante la chiusura della connessione al server FTP");
	}
	
	public function getList(){
	  //print($this->ftp_conn);
	  if(!$files_list = ftp_nlist($this->ftp_conn, ftp_pwd($this->ftp_conn))){
	    return false;
	  }
	  // creo un oggetto DOM che conterrà i dati in formato xml
	  $objXML = new DOMDocument();
	  // definisco l'elemento principale <list>
	  $list = $objXML->createElement("list"); // creo l'elemento
	  $list = $objXML->appendChild($list); // lo appendo nell'albero (ora ho un puntatore all'elemento inserito)
	  // riempio l'albero xml con i dati prelevati dalla query
	  foreach($files_list as $file_name){
		// definisco l'elemento <file>
		$file = $objXML->createElement("file"); 
		$file = $list->appendChild($file);
		$file->setAttribute("name", $file_name);
		// inserisco il sotto-elemento <size>
		$size = $objXML->createElement("size", ftp_size($this->ftp_conn, $file_name));
		$file->appendChild($size);
		// inserisco il sotto-elemento <modified>
		$modified = $objXML->createElement("modified", ftp_mdtm($this->ftp_conn, $file_name));
		$file->appendChild($modified);
	  }	
	return $objXML;			
	}
	
	function getFile($file_name){// recupero il file specificato da $file_name
	  return ftp_get($this->ftp_conn, $file_name, $file_name, FTP_BINARY);
	}
	
	function putFile($file_name){
	  return ftp_put($this->ftp_conn, $file_name, $file_name, FTP_BINARY);
	}	
}
?>
Il problema si verifica nella riga in grassetto. Avendo dichiarato la variabile ftp_conn come variabile privata di classe, non dovrebbe essere disponibile in ogni metodo richiamabile?
L'applicazione prevede il reindirizzamento ad una pagina index che letta da url l'azione da intraprendere richiama un metodo su di una classe Rpc (remote procedure call), che dopo eventuali controlli di sessione richiama a sua volta uno dei metodi presenti nella classe esposta.
L'errore rilevato in fase di compilazione riguarda appunto $ftp_conn, che assume valore 0 al di fuori del costruttore, anche se acceduta tramite il costrutto $this->ftp_conn.

Please help me!