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.5 Déclaration du bloc module de Zend
Ce bloc est stocké dans la structure
zend_module_entry
et contient toutes les informations
nécessaires pour décrire le contenu du module à Zend. Vous pouvez voir
la définition interne du module dans Déclaration interne de zend_module_entry . .
Dans notre exemple, la structure est implémentée comme suit :
zend_module_entry firstmod_module_entry = { STANDARD_MODULE_HEADER, "First Module", firstmod_functions, NULL, NULL, NULL, NULL, NULL, NO_VERSION_YET, STANDARD_MODULE_PROPERTIES, };
C'est une structure qui est surement la plus facile et la plus
minimaliste que vous puissiez utiliser. Le nom du module est
choisi à
First Module
, puis vient la liste des
fonctions référencées, puis la fonctions de démarrage et de terminaison,
qui sont inutilisées.
Pour information, vous pouvez trouvez la liste des macros utilisées dans
les fonctions de démarrage et de terminaison dans la table
Macros utilisées pour déclarer les fonctions de démarrage et de terminaison . Elles ne sont pas utilisées
dans notre exemple de base, mais elles seront exploitées plus tard.
Il est recommandé d'utiliser ces fonctions pour déclarer vos
fonctions de démarrage et terminaison, car elles réclament des
arguments spéciaux (
INIT_FUNC_ARGS
et
SHUTDOWN_FUNC_ARGS
), qui sont automatiquement
inclus dans la fonction, si vous utilisez les macros. Si vous déclarez
vos fonctions manuellement, et que les développeurs PHP décident de
changer la liste des arguments, vous devrez aussi changer vos propres
sources pour rester compatible.
|