Re: Re: Help on zend_hash_update
| From: | Sterling Hughes | Date: | Thu, 24 Aug 2000 00:02:48 +0000 |
| Subject: | Re: Re: Help on zend_hash_update | ||
| References: | 1 2 3 4 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-30451@lists.php.net to get a copy of this message | ||
> On Wed, 23 Aug 2000, Sterling Hughes wrote:
> > If you mean how to create an object with methods? Look at
> > ext/standard/dir.c.
> >
> > Its simple, every class has a function table, simply create your
function
> > table and then use the INIT_CLASS_ENTRY macro. example:
> >
> > static zend_class_entry *yourmod_ce_ptr;
> >
> > static function_entry php_yourmod_class_functions[] = {
> > PHP_FE(meth1, NULL)
> > PHP_FE(meth2, NULL)
> > };
> >
> > PHP_MINIT_FUNCTION(yourmod)
> > {
> > zend_class_entry yourmod_ce;
> >
> > INIT_CLASS_ENTRY(youmod_ce, "YourMod", php_yourmod_class_functions);
> > yourmod_ce_ptr = zend_register_internal_class (&yourmod_ce);
> > }
> >
> > PHP_FUNCTION(init_function)
> > {
> > object_init_ex(return_value, yourmod_ce_ptr);
> > /* add properties you want, etc. */
> > }
>
> I think he meant adding methods to existing classes.
>
To do that couldn't you just insert entries in to the object's
function_table (which is a 'HashTable').
Sterling