Para construir uma função que necessita de receber argumentos, o PHP irá recorrer á Macro zend_parse_parameters().
Ex: zend_parse_parameters( zend_num_args() TSRMLS_CC, tipo_variavel, referencia_variavel, referencia_tamanho)
zend_num_args() – retorna um INT com o nº de parâmetros passados para a função
Tipos de Variável:
b -Booleano zend_bool
l -Inteiro long
d -Virgula Flutuante double
s -String char*, int
r -Resource zval*
a -Array zval*
o -Instância de um Objecto zval*
O -Instância de um Objecto de um tipo especifico zval*, zend_class_entry*
z -Zval não especifico zval*
Z -Zval não especifico referenciado zval**
Ex:
Em PHP:
function testPar($value) {
echo " $value ";
}
Em C:
PHP_FUNCTION(testPar)
{
char *value;
int value_len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s",
&value, &value_len) == FAILURE) {
RETURN_NULL();
}
PHPWRITE(value, value_len);
}
Parâmetros Opcionais:
| -Valor Opcional
! -Se a variável logo a seguir for do tipo NULL, o PHP irá atribuirlhe o valor interno IS_NULL zval.
/ -Criação de nova variável is_ref==0 e refcount==1.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment