SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
Sommaire

Capacités d'extensions

Module externes
Modules internes
Les extensions au Zend Engine

7.3.1 Module externes

Les modules externes pveut être chargés au moment de l'exécution du script, en utilisant la fonction dl. Cette fonction charge un objet partagé (shared object) et rend toutes ses fonctionnalités accessibles aux scripts auquel il est attaché. Une fois l'exécution du script terminé, le module externe est déchargé de la mémoire. Cette méthode a ses avantages et inconvénients, comme le montre cette table : > >
Avantages Inconvénients
Les évolutions de modules externes ne requièrent pas recompilation de PHP. Les objets partagés doivent être chargés à chaque exécution de script, c'est à dire pour chaque visiteur. Cela ralentit le script.
La taille de PHP reste petite, en externalisant une partie des fonctionnalités. Des fichiers externes parsèment le disque.
Chaque script qui souhaite utiliser une fonctionnalité de module externe doit l'inclure spécifiquement, avec la fonction dl, ou une balise extension. Le fichier de configuration php.ini doit être modifié (ce qui n'est pas toujours une solution.
Pour résumer, les modules externes sont excellents pour les produits tierce-parties, les petites librairies supplémentaires, qui sont rarement utilisées, ou lors des tests. Pour développer de nouvelles extensions rapidement, les modules externes fournissent de meilleurs résultats. Pour les usages répétitifs, les implémentations importantes ou les codes complexes, cela devient inconvénient majeur.

Les auteurs d'extensions peuvent étudier la balise extension du php.ini pour créer des extensions externes à PHP. Ces modules son complétement détachés de la distribution principale, ce qui est particulièrement pratique pour les environnements commerciaux. Les distributeurs peuvent simplement distribuer des disques ou des archives contenant uniquement leur librairies, sans avoir à créer des exécutables PHP fixe et statiques, qui ne permettent pas d'ajouter des modules supplémentaires.


Chapitre précédentChapitre suivantAccueil nexen.net