Reply to Re: __destruct() destroy an object that contains a reference to another object

Your name:

Reply:


Posted by Mortimer on 07/19/07 11:58

Scriveva Jerry Stuckle giovedì, 19/07/2007:
> Mortimer wrote:
>> Hi, i'm using PHP 5.1
>>
>> I have two objects and the second one is using an instance of the first.
>> As displayed in the example below, the Garbage Collector calls the destruct
>> method of the first class before the second even if the second contains a
>> reference to the other, so i can't complete all the operations not having
>> all "the code available"!
>>
>> Thank you
>>
>>
>> Ex.:
>>
>> class MyFirstClass
>> {
>> public function __construct()
>> {
>> ... operations...
>> }
>>
>> public function __destruct()
>> {
>> echo "Destroyed MyFirstClass";
>> }
>> }
>>
>>
>>
>> class MySecondClass
>> {
>>
>> private $obj = NULL
>>
>> public function __construct($obj)
>> {
>> ... operations...
>> }
>>
>> public function __destruct()
>> {
>> echo "Destroyed MySecondClass";
>> }
>> }
>>
>>
>> $obj1 = new MyFirstClass();
>>
>> $obj2 = new MySecondClass($obj1);
>>
>> // Result
>> // Destroyed MyFirstClass
>> // Destroyed MySecondClass
>>
>>
>
> Hmmm, personally I would consider this to be a bug. I'd suggest you report
> it and see what they say.
>
> Iván has a valid point when it comes to circular references, but that's not
> the case here. I think PHP should be able to determine which object should
> be destroyed first.

Uhm.. ok.. do you mean in the php.net site or in a Newsgroup?

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация