Services webmasters
Partenaires
Jeux concours gratuits
 
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)

Note
API obsolète de lecture des paramètres

Cette API est obsolète est a été remplacée par la nouvelle API Zend.

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 :


zval **parameter;

if(zend_get_parameters_ex(1, &parameter) != SUCCESS)
  WRONG_PARAM_COUNT;
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 :


zval **param1, **param2, **param3, **param4;
     
if(zend_get_parameters_ex(4, &param1, &param2, &param3, &param4) != SUCCESS)
    WRONG_PARAM_COUNT;

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
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -