Re: Weak references
| From: | Chris Vandomelen | Date: | Sat, 08 Mar 2003 12:13:04 +0000 |
| Subject: | Re: Weak references | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-94924@lists.php.net to get a copy of this message | ||
Ack. Helps if I 'chmod a+r ~/public_html/php-ext-weakref.tgz'.
Chris
On Sat, 8 Mar 2003, Chris Vandomelen wrote:
> I've written a simple extension for supporting weak (non-refcounted)
> references in PHP, so that object graphs which reference themselves will
> function properly. I don't know if this will be useful to anyone else, but
> the code for the extension can be found at
> http://4.61.245.27/~chrisv/php-ext-weakref.tgz. (Until the DSL
> line that
> I'm in front of decides that it's going to get a new IP address, anyway..)
>
> The extension implements 2 functions:
> resource(weak reference) weakref(object $o): Returns a resource
> representing the input object. The reference is not
> counted against the object, and becomes invalid when the
> refcount of $o becomes 0.
> object weakref_get(resource(weak reference) $r): If the object
> that $r represents is still valid, this increases the
> refcount on the object and returns it. Otherwise it
> returns false.
>
> It should only compile against ZE2, as it needs access to
> EG(objects_store) to check and see if an object reference is still valid
> or not. (Unless there is some other way of checking to see if an object ID
> still exists, which I didn't happen to spot during my quick browsing of
> the source.)
>
> It's one of those little things that happens to seem like a good idea
> (being able to reference parent objects from a child object is a quite
> handy feature at times, especially when working with stuff that looks like
> DOM trees and whatnot.)
>
> Chris
>
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
>