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 à :
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.
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 |