Services webmasters
Partenaires
Jeux concours gratuits
 
Déclaration des fonctions exportées
<<<
Déclaration du bloc de fonctions Zend Déclaration du bloc module de 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.4 Déclaration du bloc de fonctions Zend

Mainteant que vous avez déclaré les fonctinos qui seront exportées vers PHP, il faut les introduire à Zend lui-même. Présenter la liste des focntions est fait en utilisant un tableau de zend_function_entry . Ce tableau contient toutes les fonctions qui sont rendues disponible à l'extérieur, avec le nom de la fonction qui doit apparaître dans pHP, et son nom de fonction C. En interne, zend_function_entry est déclarés comme dans Déclaration interne de zend_function_entry . .

Dans l'exemple ci-dessus, la déclaration ressemble à :


zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};
Vous pouvez voir que la dernière entrée de la liste est {NULL, NULL, NULL} . C'est un jalon, destiné à Zend, pour qu'il puisse reconnaitre la fin de la liste de fonctions exportées.

Note

Vous ne pouvez pas utiliser les macros prédéfinies pour créer le jalon final, car cela conduira à ce qu'il se réfère à la fonction "NULL"!

La macro ZEND_FE (abbréviation de 'Zend Function Entrée') est remplacé par une structure dans zend_function_entry . Notez que ces macros introduises un plan de nommage spécial pour vos fonctions : toutes vos fonctions C seront préfixées avec zif_ , ce qui signifie que ZEND_FE(first_module) se référera à la fonction C appelée zif_first_module . Si vous voulez mélanger des appels aux macros avec des entrées codées en dur (une très mauvaise pratique), gardez ça en tête.

Tip: Les erreurs de compilation qui font références à des fonctions nommés zif_* font référence aux fonctions définies avec ZEND_FE .

Macros de définition de fonctions montre une liste de macros que vous pouvez utiliser pour définir des fonctions.

Note: Vous ne pouvez pas utiliser ZEND_FE en conjonction avec PHP_FUNCTION , ou PHP_FE en conjonctino avec ZEND_FUNCTION . Cependant, il est parfaitement valide de mélanger des appels à ZEND_FE et ZEND_FUNCTION avec PHP_FE et PHP_FUNCTION lorsque vous restez dans le même jeu de macro pour chaque fonction déclarée. Mais mélanger les appels n'est pas recommandé; il est recommandé de n'utiliser que les macros ZEND_* .

<< Déclaration du bloc de fonctions Zend >>
Déclaration des fonctions exportées Présentation des sources Déclaration du bloc module de Zend
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -