Visualizzazione dei risultati da 1 a 3 su 3

Discussione: funzione __clone()

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136

    funzione __clone()

    Chi mi spiega come funziona questo frammento?
    codice:
    class MioFile{
    	private $nome_file;
    	private $handle_file;
    	function __construct($nome_file){
    		$this->nome_file=$nome_file;
    	}
    	function apriFileLettura(){
    		$this->handle_file=fopen($this->nome_file,"r");
    	}
    	function __clone(){
    		if($this->handle_file){//se l'oggetto da clonare ha un file aperto
    			$this->handle_file=fopen($this->nome_file,"r");
    		}
    	}
    }
    se scrivo:
    $file1=new MioFile("file.txt");
    $file2=clone $file1;
    $this in clone a chi si riferisce?grazie per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di hyde82
    Registrato dal
    Feb 2010
    Messaggi
    243
    devi studiare bene gli oggetti....la keyword $this "punta" e accede alle proprietà o ai metodi di un oggetto....Nel caso tuo specifico ,istanziata la classe, il costruttore setta la proprietà private $nome_file accedendovi con $this->nome_file ,col valore passato nell'istanza di classe,in questo caso il file di testo.Clonado l'oggetto, si manterranno le proprietà ed i metodi dell'oggetto e si potrànno allocare gli stessi su posizioni di memoria differenti...
    ecco tutto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    chiarissimo.grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.