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.4 Disposition du code source
Note |
Avant de passer au reste du chapitre, vous devez obtenir une version
propre et non altérée des sources de votre serveur web préféré. Nous travaillons
avec Apache (disponible à l'adresse http://www.apache.org/)
et, bien sur, avec (disponible à l'adresse
http://www.php.net/ - avions nous vraiment
besoin de le préciser?).
Assurez vous que vous pouvez compiler PHP avec un environnement
par vous-même! Nous ne traiterons pas ces problèmes ici, car nous
supposerons que vous avez déjà cette connaissance de base pour
étudier ce chapitre.
|
Avant que nous ne commençions a traiter des questions de codes, vous devez
vous familiariser avec l'arborescence du code source, pour naviguer rapidement
dans les dossiers. C'est une faculté à développer absolument pour implémenter
des extensions, et les débugger.
Après avoir extrait l'archive PHP, vous allez découvrir la disposition du code, similaire
a celle de <>.
 |
Dossier principal de la distribution PHP |
La table suivante décrit le contenu des dossiers principaux :
>
>
Dossier |
Contenu |
php-4
|
Fichiers sources PHP principaux, code et entêtes. Ici, vous trouverez toutes
les définitions des API de PHP, les macros, etc... (important).
|
ext
|
Dépot de tous les modules dynamiques et internes; par défaut,
ce sont les modules officiels PHP, qui ont été intégrés dans
la distribution principale. En PHP 4.0, il est possible
de compiler des extensions standards comme modules dynamiquement
chargeable (au moins, ceux qui le supporte).
|
pear
|
Dossier contenant les classes de PHP.
Au moment de l'écriture de ce chapitre, il est toujours en phase de
design. Le but est de fournir des fonctionnalités proches de celle
du CPAN de Perl, dans ce dossier.
|
sapi
|
Contient le code des différentes couches d'abstraction de
serveur web.
|
TSRM
|
Dossier du "Thread Safe Resource Manager" (TSRM) de Zend
et PHP.
|
Zend
|
Dossier des fichiers Zend; ici, vous trouverez les définitions des
API de Zend, les macros...(important).
|
Détailler tous ces fichiers inclus dans ces dossiers dépasse le cadre
de ce chapitre. Cependant, il est bon de regarder plus attentivement
les fichiers suivants :
php.h
, situé dans le dossier PHP principal.
Ce fichier contient la plus part des macros et définitions d'API de PHP.
zend.h
, situé dans le dossier Zend.
Ce fichier contient la plus part des macros et définitions d'API de Zend.
zend_API.h
, aussi situé dans le dossier Zend.
Il définit les API de Zend.
Nous vous conseillons aussi d'ouvrir quelques dossiers à
l'intérieur de ces dossiers; par exemple, ceux qui sont liés
à l'exécuteur Zend, les fichiers d'initialisation de PHP, etc...
Après avoir lur ces fichiers, prenez le temps de naviguer dans le
package, pour repérer les dépendances des fichiers et modules.
Comment ils sont reliés les uns aux autres, et comment ils s'utilisent
réciproquement. Cela vous aidera a adapter votre style de codage
à celui qui est utilisé par les auteurs de PHP. Pour augmenter
les capacités de PHP, vous devrez rapidement vous adapter à ce
style.
|