Développer PHP 4.0 <<< |
Déterminer le nombre d'arguments | Lire les arguments >>> |
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.1 Déterminer le nombre d'arguments
Comme PHP ne dispose pas de définitions de variables contraignantes, avec validation de la syntaxe, et comme PHP propose le nombre variable d'arguments, vous aurez parfois besoin de savoir combien d'arguments ont été passé à votre fnoction. Dans cette situation, vous pouvez utiliser la macro ZEND_NUM_ARGS . Dans les anciennes versions de PHP, cette macro retournait le nombre d'arguments avec lequel la fonction avait été appelée, en se basant sur la table de hashage d'entrées ( ht ), qui est pasée dans la liste INTERNAL_FUNCTION_PARAMETERS . Comme ht lui-même contient le nombre d'arguments passé à la fonction, ZEND_NUM_ARGS a été réduite à une macro simpliste (voyez sa définition dans le fichier zend_API.h ). Mais c'est une bonne pratique que de l'utiliser, pour rester compatible avec des changements futurs dans l'interface. Note: L'ancien équivalent PHP de cette macro est ARG_COUNT . Le code suivant vérifie le nombre d'argument correct :
Si la fonction n'est pas appelée avec deux arguments, elle se termine
avec un message d'erreur. Le code ci-dessus utilise la macro
WRONG_PARAM_COUNT
, qui sert à générer un message
d'erreur standard (voyez WRONG_PARAM_COUNT en action. ).
Cette macro affiche un message d'erreur et retourne à l'appelant. Sa définition est disponible dans le fichier zend_API.h et ressemble à ceci :
Comme vous pouvez le foir, elle appelle une fonction
interne appelée
wrong_param_count
qui est
responsable de l'affichage du warning. Pour plus de détails
sur la génération de messages personnalisés, voyez la section
"Afficher des messages."
|
<< | Déterminer le nombre d'arguments | >> |
Développer PHP 4.0 | Gestion des arguments | Lire les arguments |