Re: Re: Announcement: Next generation ext_skel

From: Date: Wed, 26 Feb 2003 10:09:06 +0000
Subject: Re: Re: Announcement: Next generation ext_skel
References: 1 2  Groups: php.dev 
Request: Send a blank email to php-dev+get-94580@lists.php.net to get a copy of this message
l0t3k wrote:
Hartmut, will this also generate zend_parse_parameters calls based on prototype ?
Sure, see the two samples below. It even adds return statements for the return type specified in the proto where possible. But unlike the current ext_skel it also supports code generation for php.ini values, module globals, constants and resourcetypes ... :) --------------------------------------------------------------------------- <function role='public' name='dummy_int'> <summary>dummy integer conversion</summary> <proto>int dummy_int(int bar)</proto> </function> /* {{{ func int dummy_int(int bar) dummy integer conversion */ PHP_FUNCTION(dummy_int) { int argc = ZEND_NUM_ARGS(); long bar = 0; if (zend_parse_parameters(argc TSRMLS_CC, "l", &bar) == FAILURE) return; php_error(E_WARNING, "dummy_int: not yet implemented"); RETURN_LONG(0); } /* }}} */ --------------------------------------------------------------------------- <function role='public' name='dummy_resource'> <summary>dummy resource test</summary> <proto>resource dummy_resource(resource bar)</proto> </function> /* {{{ proto resource dummy_resource(resource bar) dummy resource test */ PHP_FUNCTION(dummy_resource) { zval * bar = NULL; int * bar_id = -1; int argc = ZEND_NUM_ARGS(); if (zend_parse_parameters(argc TSRMLS_CC, "r", &bar, &bar_id) == FAILURE) return; if (bar) {
    ZEND_FETCH_RESOURCE(???, ???, bar, bar_id, "???", ???_rsrc_id);
} php_error(E_WARNING, "dummy_resource: not yet implemented"); } /* }}} */ -- Six Offene Systeme GmbH http://www.six.de/ i.A. Hartmut Holzgraefe Email: hartmut@six.de Tel.: +49-711-99091-77 Sie finden uns auf der CeBIT in Halle 6/H44 http://www.six.de/cebit2003/

« previous php.dev (#94580) next »