Hi,

On Fri, 2007-09-28 at 13:21 +0200, Michael Wallner wrote:
> alon wrote:
> > A newbie question:
> > 
> > How can I use zend_parse_parameters to accept object of an external class 
> > as 
> > parametr.
> > 
> > I want for example to build a method that accepts 'DateTime' objects.
> 
> > But how do I initiate the zend_class_entry to specify an object of the 
> > DateTime class?
> 
> The class entry pointer or a function which returns it needs to be
> exported by the datetime API.  IIRC that's not the case ATM.
> 

you can also get the ce using zend_fetch_class() API function. So the
code would look something like

zend_class_entry *ce = zend_fetch_class("DateTime",
   sizeof("DateTime")-1, ZEND_FETCH_CLASS_DEFAULT TSRMLS_CC);

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
                          "O", &obj, ce) == FAILURE) {
    return;
}

When referencing an internal class it should be enough to do the fetch
just once and cache the value inside your extension.

> -- 
> Michael
> 

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

Reply via email to