FAQ bibliothèques et extensions PHP
FAQ bibliothèques et extensions PHPConsultez toutes les FAQ
Nombre d'auteurs : 7, nombre de questions : 71, dernière mise à jour : 16 juin 2021
- Qu'est-ce qu'une bibliothèque ?
- Quelles sont les bibliothèques pour PHP ?
- Comment installer une bibliothèque ?
- Qu'est-ce qu'une extension pour PHP ?
- Quelles sont les extensions pour PHP ?
- Comment installer une extension pour PHP ?
- Quelle différence y a-t-il entre une bibliothèque, une extension et un framework ?
- Comment récupérer le contenu d'un fichier avec cURL ?
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.
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.
Lien : Sources PHP
Une bibliothèque se présente généralement sous la forme d'une archive compressée.
- 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.
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.
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 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...
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.
- 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().
- le chargement statique : il 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 utilisé avec modération.
De plus, dans les deux cas, les bibliothèques 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"
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.
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 :
$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
;