Inclusions des fichiers d'entête <<< |
Déclaration des fonctions exportées | Déclaration du bloc de fonctions Zend >>> |
8.8 Présentation des sources 8 Développer PHP 4.0 Manuel PHP . Structure de module . Inclusions des fichiers d'entête ->Déclaration des fonctions exportées . Déclaration du bloc de fonctions Zend . Déclaration du bloc module de Zend . Création de la fonction get_module . Implémentation de toutes les fonctions exportées . Sommaire |
8.8.3 Déclaration des fonctions exportées
Pour déclarer des fonctions qui seront exporétes (c'est à dire, rendue disponibles dans pHP comme fonction native), Zend fournit un jeu de macros. Une simple déclaration comme celle-ci :
ZEND_FUNCTION déclare une nouvelle fonction C, qui est compatible avec les standards internes de Zend. Cela signifie que la fonction est de type void et accepte INTERNAL_FUNCTION_PARAMETERS (une autre macro) comme paramètres. De plus, elle préfixe le nom de la fonction avec zif . La version longue de la définition ci-dessus est la suivante :
Après remplacement de
INTERNAL_FUNCTION_PARAMETERS
,
cela devient :
Comme l'interpréteur et l'exécuteur ont été séparé l'un de l'auter, dans le package principal de PHP, un nouveau jeu de macros et de focntion a évolué : les API Zend. Comme les API Zend ont pris en charge certaines responsabilité qui appartenait auparavant à PHP, un bon nombre de fonction de PHP ont été réduites à de simple alias de macros, qui effectuent les appels à l'API Zend. La politique recommandée est d'utiliser l'API Zend à chaque fois que possible, car l'ancienne API n'est conservée que pour des raisons de compatibilité. Par exemple, les types zval et pval sont identiques. zval est la définition pour Zend. pval est la définition pour PHP (en fait, pval est actuellement un alias de zval ). Comme la macro INTERNAL_FUNCTION_PARAMETERS est une macro Zend, la déclaration ci-dessus contient un zval . Lorsque vous écrivez du code, il faut toujours utiliser les zval pour être compatible avec la nouvelle API Zend API. La liste de paramètres de cette déclaration est très importante. Gardez bien ces paramètres en tête, et voyez Paramètres Zend pour les fonctions PHP pour plus de détails. |
<< | Déclaration des fonctions exportées | >> |
Inclusions des fichiers d'entête | Présentation des sources | Déclaration du bloc de fonctions Zend |