 |
|
Sommaire
Améliorer PHP 4.0
Préface
Présentation
Capacités d'extensions
Disposition du code source
Le système de compilation automatique de PHP
Créer une extension
Utiliser une extension
Résolution de problèmes
Présentation des sources
Gestion des arguments
Créer des variables
Afficher des informations
Valeurs retournées
|
7.6 Créer une extension
Nous allons commencer par la création d'une extension très simple, qui
ne fera rien de plus qu'implémenter une fonction qui retourne l'entier
qu'elle reçoit en paramètre. <> montre le code
source.
Une extension simple |
/* include les headers standard */ #include "php.h" /* déclaration de fonctions à exporter */ ZEND_FUNCTION(first_module); /* Liste de fonctions compilées pour que Zend sache ce qui se passe dans ce module */ zend_function_entry firstmod_functions[] = { ZEND_FE(first_module, NULL) {NULL, NULL, NULL} }; /* informations sur le module compilé */ zend_module_entry firstmod_module_entry = { STANDARD_MODULE_HEADER, "First Module", firstmod_functions, NULL, NULL, NULL, NULL, NULL, NO_VERSION_YET, STANDARD_MODULE_PROPERTIES }; /* Implémente une routine "stub" standard pour nous présenter à Zend */ #if COMPILE_DL_FIRST_MODULE ZEND_GET_MODULE(firstmod) #endif /* Implémente la fonction qui sera disponible dans PHP */ ZEND_FUNCTION(first_module) { long parameter; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", ¶meter) == FAILURE) { return; } RETURN_LONG(parameter); }
|
Ce code contient un module PHP complet. Nous expliquerons le code
source en détails rapidement, mais tout d'abord, nous devons détailler
le processus de compilation (cela permettra aux impatients d'expérimenter
avant que nous commençions à nous plonger dans les discussions sur les
API).
Note |
Le code source d'exemple nous montre quelques caractéristiques utilisées
en PHP 4.1.0 et supérieur. Il ne compilera pas avec des versions
PHP 4.0.x et plus ancien.
|
|
|
 |
 |