|
Posted by Mortimer on 07/19/07 12:42
Jerry Stuckle ha spiegato il 19/07/2007 :
> Mortimer wrote:
>> 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?
>>
>>
>
> The php.net site. Posting a bug report here won't get it fixed; this is not
> the official bug reporting location.
Ok thank you for your support!
Navigation:
[Reply to this message]
|