http://www.php.net/manual/en/zend.variables.resource.php will be a starting
point.
Basically you want to do this:
1) Create a destruction handler for your resource:
void my_destruction_handler(zend_rsrc_list_entry *rsrc TSRMLS_DC) {
}
2) Register the destruction handler:
le_resource =
zend_register_resource_destructors_ex(my_destruction_handler, NULL,
"resource");
1) and 2) are done once in the code (usually at startup).
3) Register your resource
ZEND_REGISTER_RESOURCE(return_value, resource_ptr, le_resource);
Then when you need to get your resource, you will get the resource id as a
parameter from the caller, then call :
ZEND_FETCH_RESOURCE(resource_ptr, resource_struct *, resource_id, -1,
"resource", le_resource);
The first parameter will return your resource, the second is the type of
your resource, the third is what was returned in "return_value" and passed
back to the user, so that should be passed as an argument back to your
extension, -1 to say that there is no default resource, "resource" is just a
name that will be displayed if Zend cannot find your resource, and
le_resource is the resource type you got back when you registered the
resource destructor.
If you don't want to return the resource to the caller but keep it as a
property of your object, that's another story, and I can help on that one
too if necessary.
Fab.
The first argument will be returned to the caller, that will be your
resource identification.
The second argument is a pointer to your resource (a zval, a struct, or
whatever).
The third argument is the resource destruction handler type.
----- Original Message -----
From: "Joel Dudley" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, June 13, 2002 12:37 PM
Subject: [PHP-DEV] understanding resources
> Hello all,
> I need to write a molecular visualization extension for PHP to complete
a
> project I am working on. It will have to work somewhat like GD by creating
a
> resource, having other functions operate on that resource, and then output
> an image. I have trouble finding a good explanation of resources in the
PHP
> docs. Perhaps I missed a section. Regardless, does anyone here know of a
> resource that explains resources in extensions? I think I will go over the
> GD source code for now, and perhaps that is the best answer to my
question.
> Thank you for reading my post.
>
> Joel Dudley
> Faculty Research Associate
> Arizona State University
> Kumar Laboratory of Evolutionary Functional Genomics
> http://lsweb.la.asu.edu/skumar/
>
>
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php