|
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?
Navigation:
[Reply to this message]
|