Sterling,
    have you thought of public accessors (maybe even macros) for exception
properties. this is for the benefit of extension authors who want to
subclass. right now i have to basically copy the code for the constructor to
my new class, or resort using call_user_function_ex.
for my extension classes i usually do something like this :

    int myclass_init_zval(zval *return_val,int foo, char *bar, void *etc);
/* create a myclass obj stored in return_val */

and put it in the header so i can create an instance of the class from
anywhere i need to.  the constructor function also calls this.

   another idea is basic macros

 /* set up the common properties. subclasses can add others. also set
EG(exception) to return_zval if not set */
   ZEND_RAISE_EXCEPTION_EX(return_zval, exception_or_subclass_ce, code,
message, ...)

/* for extension authors to handle exceptions  in C */
   ZEND_LOWER_EXCEPTION()
/* just to be less arcane */
   ZEND_HAS_EXCEPTION()   (NULL !=  EG(exception))






-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to