Nel caso in cui si preferisca lavorare con oggetti zval e non si desideri (o non si possa) utilizzare la funzione zend_parse_parameters, è necessario conoscere gli strumenti necessari per la corretta gestione dei valori rappresentati. In questo e nel paragrafo successivo tratteremo in modo approfondito i tipi di dato scalari, ed introdurremo i sistemi utilizzati per gestire e restituire questi valori.
La tabella seguente riassume brevemente le macro utilizzate per impostare, accedere e restituire i valori di un oggetto zval. Le macro aventi alcune particolarità saranno discusse in seguito:
Tipo |
Set |
Get |
Return* |
|
|
|
|
Double, Float |
ZVAL_DOUBLE |
Z_DVAL |
RETURN_DOUBLE |
Long, Int |
ZVAL_LONG |
Z_LVAL |
RETURN_LONG |
String (char*) |
ZVAL_EMPTY_STRING ZVAL_STRING ZVAL_STRINGL |
Z_STRVAL Z_STRLEN
|
RETURN_EMPTY_STRING RETURN_STRING RETURN_STRINGL |
Bool |
ZVAL_TRUE ZVAL_FALSE ZVAL_BOOL |
Z_BVAL |
RETURN_TRUE RETURN_FALSE RETURN_BOOL |
Null |
ZVAL_NULL |
|
RETURN_NULL |
*Ad ogni macro RETURN_* corrisponde una macro con le identiche funzionalità chiamata RETVAL_* |