Tuesday, November 07, 2006

Retornar Valores com Macros e Variaveis

Para cada vez que um a função tiver que retornar valores o PHP terá que utilizar a macros correspondentes para cada tipo de dados.

Macro ZVAL
ZVAL_NULL(return_value)-> RETVAL_NULL()
ZVAL_BOOL(return_value, bval)-> RETVAL_BOOL(bval)
ZVAL_TRUE(return_value)-> RETVAL_TRUE
ZVAL_FALSE(return_value)-> RETVAL_FALSE
ZVAL_LONG(return_value, lval)-> RETVAL_LONG(lval)
ZVAL_DOUBLE(return_value, dval)-> RETVAL_DOUBLE(dval)
ZVAL_STRING(return_value, str, dup)-> RETVAL_STRING(str, dup)
ZVAL_STRINGL(return_value, str, len, dup)-> RETVAL_STRINGL(str,len,dup)

Ex:

PHP:

 $var = 'value'; 


C:

{
zval *var;

MAKE_STD_ZVAL(var);//alocar memoria para variavel
ZVAL_LONG(var, 45);//tipo long
RETVAL_LONG(var);//retornar valor

}

No comments: