Something went wrong in the format of my message! It should read:
> ZEND_FETCH_RESOURCE(resource_ptr, resource_struct *, resource_id, -1, > "resource", le_resource); > 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. Then > 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. ----- Original Message ----- From: "fabwash" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; "Joel Dudley" <[EMAIL PROTECTED]> Sent: Thursday, June 13, 2002 5:46 PM Subject: Re: [PHP-DEV] understanding resources > 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 > > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php