Domanda

Esiste un modo in PHP per distruggere un oggetto all'interno di quello stesso oggetto?

È stato utile?

Soluzione

C'è un modo per autodistruggere un oggetto:

Usa l'array $ GLOBALS per trovare la tua istanza al suo interno, quindi usa unset () . Ricorda che unset () non chiama automaticamente il metodo magico __destruct () continuamente ...

C'è una tale nota in questo modo (vedere la documentazione unset () ) nella documentazione PHP, ma non spiega esattamente quando unset () non chiama il metodo __destruct () .

E ho avuto questo comportamento specifico:

Faccio un:

unset($myInstance);
$myInstance = clone $otherInstance;

E il __constructor viene chiamato per primo, quindi __destruct () . Oppure vorrei che __destruct () fosse chiamato per primo perché unset () è prima del clone ... Ora mi sono bloccato con quello ...

Nicolas.

Altri suggerimenti

Se viene chiamato un metodo nel contesto dell'oggetto, deve esserci almeno un riferimento a quell'oggetto. E poiché php rimuove solo oggetti non raggiungibili la risposta è: no.

No, non credo ci sia. Ma avresti bisogno di una cosa del genere?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top