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