Source Layout <<< |
Le système de squelette automatique de PHP | Créer une extension >>> |
8 Développer PHP 4.0 Manuel PHP . Introduction . Possibilités d'extension . Source Layout ->Le système de squelette automatique de PHP . Créer une extension . Utiliser des extensions . Résolution de problèmes . Présentation des sources . Gestion des arguments . Créer des variables . Duplique le contenu d'une variable : le bâtisseur de copie. . Retourner des valeurs . Afficher des informations . Fonctions de démarrage et d'extinction . Appeler des fonctions utilisateurs . Support du fichier d'initialisation File Support . Par oł continuer? . Référence : quelques macros de configuration . API Macros |
8.4 Le système de squelette automatique de PHP
PHP 4 dispose d'un système de squelette automatique très souple. Tous les modules sont placés dans un sous-dossier du dossier ext . En plus de ses propres sources, chaque module est constitué d'un fichier config.m4, qui sert à la configuration des extensions (par exemple, consultez http://www.gnu.org/manual/m4/html_mono/m4.html ). Tout ces fichiers sont générés automatiquement, ainsi que le fichier .cvsignore , par un script shell appelé ext_skel qui est installé dans le dossier ext . En argument, il prend le nom du module à créer. Le script va alors bâtir un dossier complet, du même nom.
Etape par étape, voici le processus :
Ces instructions crée les fichies sus-cités. Pour inclure le module dans le processus de configuration automatique et de compilation, vous devez exécutuer le script buildconf , qui génère le script configure en fouillant le dossier ext , pour y inclure tous les fichiers config.m4 qu'on y trouve. Le fichier par défaut config.m4 qui sert d'illustration, Le fichier config.m4 par défaut est un peu plu complexe : Si vous n'êtes pas familier avec les fichiers M4, cela peut paraître un peu désorientant à première vue. Il serait certaiment utile que vous vous y mettiez. Mais en fait, c'est très facile : Note : Tout ce qui est préfixé par dnl est un commentaire, et ne sera pas utilisé. Le fichier config.m4 est responsable de l'analyse des options de ligne de commande passé à configure , lors de la configuration. Cela signifie qu'il doit faire les vérifications de présence des fichiers externes, les configurations et les mises en place requises. Le fichier config.m4 crée deux directives dans le script principal : --with-mon_module et --enable-mon_module . Utilisez la première option pour faire référence à des fichiers externes (comme par exemple --with-apache qui fait référence au dossier Apache). Utilisez la seconde option si l'utilisateur n'a qu'a choisir d'activer ou pas l'extension. Indépendamment de l'option de vous choisissez, vous devez mettre en commentaire l'autre, qui est inutile. Par exemple, si vous choisissez --enable-mon_module , vous devez enlever le support pour --with-my_module , et vice versa. Par défaut, le fichier config.m4 créé par ext_skel accepte les deux directives et active automatiquement votre extension. L'activation de l'extension est fait en utilisant la macro PHP_EXTENSION . Pour changer ce comportement par défaut, et le remplacer par l'inclusion sur demande explicite (en utilisant --enable-mon_module ou --with-mon_module ), changez le test de $PHP_MY_MODULE avec == "yes" :
. Cela vous imposera d'utiliser l'option
--enable-mon_module
à chaque vois que vous
reconfigurerez et recompilerez PHP.
Note: Assurez vous de bien exécuter buildconf à chaque fois que vous changez config.m4 ! Nous nous plongerons plus profondément dans les macros M4 plus loin. Pour le momnent, les fichiers par défaut font très bien l'affaire. Sommaire : |
<< | Le système de squelette automatique de PHP | >> |
Source Layout | Développer PHP 4.0 | Créer une extension |