FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 29 juillet 2013 

 
OuvrirSommaireBibliothèques, extensions

Une bibliothèque PHP est un script ou une collection de scripts écrits en PHP.

Ces scripts mettent à la disposition du programmeur des fonctions, constantes et classes afin de l'aider à développer plus rapidement.

Créé le 2 juin 2007  par Guillaume Rossolini

Lien : Définition de 'bibliothèque'
Lien : Les meilleurs cours sur les bibliothèques PHP

PHP est un langage libre et gratuit, il y a donc une quantité infinie de bibliothèques.

Créé le 2 juin 2007  par Guillaume Rossolini

Lien : Sources PHP

Une bibliothèque se présente généralement sous la forme d'une archive compressée.

La méthode habituelle d'installation est :
  • Télécharger l'archive compressée depuis le site officiel ;
  • Décompresser l'archive dans un répertoire de votre serveur ;
  • Vérifier que la bibliothèque fonctionne.
Créé le 2 juin 2007  par Guillaume Rossolini

Une extension est un fichier DLL (Windows) ou so (Linux).

Ce fichier permet d'ajouter des fonctionnalités à PHP sous la forme de nouvelles fonctions, constantes et classes. L'avantage d'une extension sur une bibliothèque est que le code est généralement exécuté plus raidement. Un inconvénient est que toute la bibliothèque est chargée en mémoire depuis le lancement du serveur Web.

Mis à jour le 2 juin 2007  par Guillaume Rossolini, Hachesse

Lien : Qu'est-ce qu'une bibliothèque ?
Lien : Les meilleurs cours sur les extensions PHP

Il est plus difficile de créer une extension qu'une bibliothèque, c'est pourquoi les principales extensions sont généralement hébergées sur le site de PHP.

Les extensions pour PHP sont divisées en trois catégories :
  • Les extensions qui font partie de la distribution standard ;
  • Les extensions PECL ;
  • Les extensions externes.

Les extensions standard sont utilisées très fréquemment par la majorité des développeurs PHP, elles sont donc incluses dans toutes les distributions de PHP.

Les extensions PECL sont habituellement moins sollicitées car elles répondent à des besoins bien plus spécifiques. Elles sont toutefois également disponibles sur le site de PHP.

Les extensions externes sont en fait toutes celles que le site de PHP ne répertorie pas. Il faut prendre garde avec ces extensions, car elles ne sont pas validées par le PHP Group. Leur installation est souvent largement plus complexe pour les utilisateurs de Windows, car la procédure de compilation n'est pas toujours bien détaillée et car les fichiers binaires ne sont pas compilés par le PHP Group. Certains groupes publient de très bonnes extensions qui ne sont pourtant pas proposées sur le site de PHP, il faut donc juger avec discernement...

Créé le 2 juin 2007  par Guillaume Rossolini

Lien : Site officiel des extensions PECL
Lien : Extensions PECL pour les utilisateurs de Windows

L'installation d'une extension dépend de votre système d'exploitation.

Les instructions sont toujours données sur le site officiel, mais elles suivent habituellement cette démarche :
  • Compiler l'extension en fonction de votre version de PHP ;
  • Placer le fichier généré dans votre répertoire d'extensions PHP ;
  • Activer l'extension par une directive du fichier php.ini ;
  • Redémarrer le serveur Web si PHP est utilisé en module (pas nécessaire pour une utilisation en CGI) ;
  • Vérifier que l'extension apparaît dans phpinfo().
Pour charger une extension sous Windows, il y a 2 possibilités
  • Le chargement statique : Se fait par l'ajout du nom de l'extension à charger dans le fichier de configuration de PHP (php.ini) à la rubrique "Dynamic Extensions". Cette ligne doit prendre la forme "extension=modulename.extension". Par exemple, extension=php_ldap.dll permet de charger l'extension LDAP de PHP.
  • Le chargement dynamique : C'est un chargement d'une extension au cours de l'exécution d'un script PHP. Ce chargement se fait par la fonction dl(), et prend en paramètre le nom de l'extension.

     
    Sélectionnez
    <?php dl("php_ldap.dll"); ?>
    
    Notes :
    • Le chargement à la volée n'est possible que si la directive enable_dl du php.ini vaut TRUE ;
    • le chargement à la volée d'extension prend du temps et doit donc être utiliser avec modération.

De plus dans les deux cas, les librairies doivent être regroupées dans le répertoire des extensions de PHP. Ce répertoire est celui indiqué par la directive "extension_dir" à la section "Paths and Directories" du fichier php.ini.

Exemple : extension_dir="C:\php\extensions"

Créé le 2 juin 2007  par Hachesse, Guillaume Rossolini

Un framework est un ensemble de règles et de bibliothèques permettant à tous les développeurs qui l'utilisent, de coder de manière rapide et uniforme.

Le principal avantage d'utiliser un framework est de ne plus à avoir à se poser de questions sur la forme du code que l'on écrit, de telle manière que d'année en année le code n'est pas remanié, ce qui le rend pérenne.

La majorité des frameworks en profitent pour sélectionner ou pour développer des classes (wrappers) permettant au développeur de programmer plus rapidement, mais c'est majoritairement dans l'objectif d'uniformiser le code applicatif.

Créé le 2 juin 2007  par Guillaume Rossolini

Lien : Frameworks pour PHP : comment créer efficacement des applications web, par Pawel Kozlowski

De même que les bibliothèques, de très nombreux développeurs ont mis en place leur propre framework au fil du temps, même sans le savoir. Un framework désigne avant tout une manière de coder, ainsi en l'absence d'un framework défini, le développeur créé le sien propre.

Cependant, quelques frameworks ont percé sur la scène internationale et ont reçu un très large accueil du public :
  • Zend Framework ;
  • symfony ;
  • CakePHP ;
  • Prado :
  • Seagull ;
  • etc.
Créé le 2 juin 2007  par Guillaume Rossolini

Lien : Rubrique Zend Framework : FAQ, cours, tutoriels, forum, blogs...

Les instructions dépendent totalement du framework cible.

Créé le 2 juin 2007  par Guillaume Rossolini

La seule différence entre une bibliothèque et une extension est le fait que seule l'extension est compilée en fichier binaire, tandis que la bibliothèque est simplement constituée de scripts. Les deux offrent une extension au langage PHP.

Si une bibliothèque venait à être réécrite en code C puis compilée en fichier binaire, on pourrait parler d'extension.

Un framework et une bibliothèque/extension ont de nombreuses choses en commun, mais le framework est plus complet. Un framework utilise généralement plusieurs bibliothèques/extensions et il impose des règles d'écriture du code, tandis que les bibliothèques/extensions proposent simplement de nouvelles fonctionnalités.

Un framework n'est jamais compilé en fichier binaire, puisqu'il s'agit avant tout de conventions d'écriture du code.

Créé le 2 juin 2007  par Guillaume Rossolini

cURL présente les avantages d'être plus facile à utiliser et de pouvoir accéder à un "fichier" par son URL indépendamment de la valeur de la directive allow_url_fopen (ce qui n'est pas le cas de fopen, file, file_get_contents, ...). Il faut, toutefois, qu'elle soit installée.
Exemple d'utilisation :

 
Sélectionnez
$ch = curl_init('http://www.developpez.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
//curl_setopt($ch, CURLOPT_HEADER, TRUE) ; // Pour obtenir en plus les en-têtes 
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Créé le 8 août 2006  par Julp
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.