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

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 :


void zif_my_function ( INTERNAL_FUNCTION_PARAMETERS );
Après remplacement de INTERNAL_FUNCTION_PARAMETERS , cela devient :

void zif_my_function( int ht
                    , zval * return_value
                    , zval * this_ptr
                    , int return_value_used
                    , zend_executor_globals * executor_globals
                    );

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