Originariamente inviato da citrus
sempre riferito a questa domanda avrei un altro quesito.
ho una classe tra le cui proprietà ho inserito un oggetto DOMDocument caricato con l'xml opportuno...
la maggior parte dei metodi di questa classe agisce su questo oggetto e per evitare che questo debba essere ogni volta ricreato ho pensato di realizzare una variante del pattern Singleton... in parole povere l'istanza DOM viene creata una volta sola e poi ne viene restituita una copia a ciascuna metodo che la richiede.
La variante rispetto al classico Singleton è che questa istanza non è valida per l'intera applicazione ma solo all'interno della classe stessa....
per far ciò ho creato questa varibile in modo non statico.
ecco il codice che la gestisce:
codice:
protected $objXML=null;
protected function loadObjXML(){
if($self->objXML == null){
$self->objXML=new DOMDocument();
$self->objXML->loadXML($this->xml);
}
return $self->objXML;
}
e così funziona alla perfezione... ma la mia domanda è:
perchè se al posto di $self uso $this invece non funziona???