|
Posted by Mortimer on 07/19/07 10:18
gosha bine ci ha detto :
> On 19.07.2007 09:39 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"!
>>
>> [skip]
>
>
> class Database {
> function __destruct() {
> echo "Destroyed Database\n";
> }}
>
> class Session {
> private $db;
> function __construct($db) {
> $this->db = $db;
> }
> function __destruct() {
> echo "Destroyed Session\n";
> }}
>
> $sess = new Session(new Database);
>
>
> prints for me
>
>
> Destroyed Session
> Destroyed Database
>
>
> just as one can expect
>
> what version of php are you using?
Thanks, i'm using "PHP Version 5.1.2"
Just another question, i have to use the $db object also out of the
Session class, that's why i create an istance and then pass it to
Session.
$obj1 = new DBHandler();
$obj2 = new SessionHandler($obj1);
while you use this syntax
$obj2 = new SessionHandler(new DBHandler);
Your syntax works and mine not!! Can you tell me why?
What's the difference?
Thank you!
[Back to original message]
|