8.12 Retourner des valeurs
Retourner des valeurs depuis vos fonctions vers PHP a été
décrit rapidement dans une section précédente : en voici les
détails. Les valeurs retournées sont passées via
la variable
return_value
, qui est passée à
vos fonctions comme argument. L'argument
return_value
est
constitué d'une enveloppe
zval
(voir la discussino
précédente sur l'API), que vous pouvez librement modifier. L'enveloppe
elle-même est déjà allouée, ce qui vous évite d'avoir à utiliser
MAKE_STD_ZVAL
. A la place, vous pouvez
accéder directement à ses membres.
Pour faciliter le renvoi de valeur des focntions, et pour éviter
les tracas d'accès aux structures internes, un jeu de macros
est disponible (comme d'habitude(). Ces macros configure
le type du retour, et sa valeur, comme décrit dans les
tables
Macros prédéfinies pour retourner des valeurs d'une fonction et Macros prédéfinies pour configurer la valeur de retour d'une fonction .
Les types complexes comme les objets et les tableaux sont retournés en utilisant
les fonctions
array_init
et
object_init
, ainsi que la fonction de hash
return_value
. Comme ces types ne peuvent pas être
construit de manière triviale, il n'y a pas de macros prédéfinie pour eux.
Sommaire :
|