Lire les arguments <<< |
Ancienen méthode de lecture des arguments (obsolète) | Traitement des nombres d'arguments variables et des paramètres optionnels >>> |
8.9 Gestion des arguments 8 Développer PHP 4.0 Manuel PHP . Déterminer le nombre d'arguments . Lire les arguments ->Ancienen méthode de lecture des arguments (obsolète) . Traitement des nombres d'arguments variables et des paramètres optionnels . Accéder aux arguments . Traiter les arguments passés par référence . Assurer les autres paramètres contre l'écriture |
8.9.3 Ancienen méthode de lecture des arguments (obsolète)
Après avoir vérifié le nombre d'arguments, vous devez accéder aux arguments eux-mêmes. Cela se fait avec l'aide de la fonction zend_get_parameters_ex :
Tous les arguments sont stockés dans des enveloppes
zval
,
qui doivent être déréférencés
deux fois
. Le code ci-dessus
essaie de lire un argument, et le rend disponible via le pointeur
parameter
.
zend_get_parameters_ex accepte au moins deux arguments. Le premier argument est le nombre d'arguments à lire (qui doit correspondre au nombre d'arguments avec lequel la fonction a été appelé. C'est pour cela qu'il est important de vérifier la validité de la syntaxe d'appel). Le second argument (et tous les suivants) sont des pointeurs de pointeurs de pointeurs sur des zval . (abscons, n'est ce pas?) Tous ces pointeurs sont nécessaires car Zend fonctionne en interne avec des **zval ; pour traiter une valeur locale **zval dans notre fonction, zend_get_parameters_ex requiert un pointeur. La valeur retournée par zend_get_parameters_ex peut être SUCCESS ou FAILURE , qui indiquent (sans surprise) la réussite ou l'échec du traitement des arguments. Un échec est probablement relié à un mauvais nombre d'arguments, et dans ce cas, il est recommandé de terminer le script avec WRONG_PARAM_COUNT . Pour lire plus d'un argument, vous pouvez utiliser le code suivant :
zend_get_parameters_ex vérifie uniquement si vous essayer de lire trop de paramètres. Si la fonction est appelée avec 5 arguments, mais que vous n'en lisez que trois d'entre eux avec zend_get_parameters_ex , vous ne générerez pas une erreur, mais nous n'obtiendrez que les trois premiers paramètres. Les appels ultérieurs à zend_get_parameters_ex ne liront pas les arguments suivants, mais les mêmes arguments. |
<< | Ancienen méthode de lecture des arguments (obsolète) | >> |
Lire les arguments | Gestion des arguments | Traitement des nombres d'arguments variables et des paramètres optionnels |