Ik heb een vervelend probleem met PHP5.3.6. De destructor van sommige objecten wordt aangeroepen voordat de laatste call naar het object is gemaakt. Dit gebeurt in een database klasse die ik heb.
Een korte beschrijving:
• Object wordt geconstrueerd
• Queries worden gedraaid
• __destruct wordt aangeroepen (welke weer $this->close() aanroept)
• Queries worden gedraaid, die uiteraard falen.
Dit probleem treedt op omdat ik met objecten werk die gewijzigde properties opslaan bij het destructen. Dit om onnodige queries te voorkomen (meerdere gewijzigde properties kunnen in één query worden opgeslagen). In dit scenario wordt de destructor van de database eerder aangeroepen dan de destructor van objecten die nog dingen willen opslaan.
Hoe kan ik ervoor zorgen dat PHP de database klasse pas opruimt *nadat* alle andere objecten zjin opgeruimd?
Een korte beschrijving:
• Object wordt geconstrueerd
• Queries worden gedraaid
• __destruct wordt aangeroepen (welke weer $this->close() aanroept)
• Queries worden gedraaid, die uiteraard falen.
Dit probleem treedt op omdat ik met objecten werk die gewijzigde properties opslaan bij het destructen. Dit om onnodige queries te voorkomen (meerdere gewijzigde properties kunnen in één query worden opgeslagen). In dit scenario wordt de destructor van de database eerder aangeroepen dan de destructor van objecten die nog dingen willen opslaan.
Hoe kan ik ervoor zorgen dat PHP de database klasse pas opruimt *nadat* alle andere objecten zjin opgeruimd?
Ik ontken het bestaan van IE.