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