i think the object will only cease to exist when all references to it are
gone

"Curt Zirzow" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
> I'm trying to document how objects are passed to functions in php5,
> but am running into some troubles.
>
> In the code below the object appears to be a reference but when the
> original object is destoyed it still somehow exists.  Can someone
> explain how this is? I was going to report a bug on this but using
> the traditional &$obj usage it works perfectly fine.
>
> class Test {
>   public $object = null;
>   public $object1 = null;
>
>
>   function SetVarVal($obj) {
>     $this->object = $obj;
>   }
>
>   function SetVarRef(&$obj) {
>     $this->object1 = &$obj;
>   }
>
> }
>
> $obj1 = new StdClass();
>
> $obj2 = new Test();
> $obj2->SetVarVal($obj1);
> $obj2->SetVarRef($obj1);
>
>
> $obj1->foo = 'test';       /* show how obj1's is a ref */
> $obj1 = null;              /* destroy object */
>
> var_dump($obj2->object);  /* still has object with ->foo */
> var_dump($obj2->object1); /* NULL */
>
>
>
> Curt
> -- 
> First, let me assure you that this is not one of those shady pyramid
schemes
> you've been hearing about.  No, sir.  Our model is the trapezoid!

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to