Re: unsetting object references
| From: | Robert Cummings | Date: | Wed, 17 Apr 2002 19:59:02 +0000 |
| Subject: | Re: unsetting object references | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-93384@lists.php.net to get a copy of this message | ||
Erik Price wrote:
>
> Hey, sorry to bother you all but I have another obscure question about
> objects in PHP (yes I really do care about the answer)...
>
> I'm simply wondering if I unset() a reference to an object, whether or
> not it destroys that object, if there are other references to it that
> still exist.
>
> $_SESSION['object'] = serialize($object);
>
> (in another script:)
>
> $object = unserialize($_SESSION['object']);
> // do some stuff with $object
> unset($object);
>
> What's going on with my $_SESSION['object'] ?
In the example you are providing $object and $_SESSION['object'] aren't
even the same thing and unless something else is referencing $object
then $object will be deleted.
Now if what you meant was the following:
$objectFoo = new MyObject();
$objectFee = &$objectFoo;
unset( $objectFoo );
Then the object shouldn't be deleted since $objectFee is still referencing
it. You will just break the reference. Correct me if I'm wrong *chuckle*
Cheers,
Rob.
--
.-----------------.
| Robert Cummings |
:-----------------`----------------------------.
| Webdeployer - Chief PHP and Java Programmer |
:----------------------------------------------:
| Mail : mailto:robert.cummings@webmotion.com |
| Phone : (613) 731-4046 x.109 |
:----------------------------------------------:
| Website : http://www.webmotion.com |
| Fax : (613) 260-9545 |
`----------------------------------------------'