Les classes et librairies vraiment utiles pour les développeurs PHP

| Saud Khan (Auteur) | Joris Crozier (Traducteur) |

Aujourd'hui des millions de sites et de serveurs web à travers le web utilisent PHP. Créé à l'origine par Rasmus Lerdorf en 1995 pour que tout le monde puisse créer facilement une page web personnelle (Personal Home Page), PHP a fait du chemin et est maintenant largement utilisé comme le langage approprié pour la majorité des projets de développement Web.

De nombreux Frameworks PHP ont vu le jour pour permettre un développement rapide avec PHP. Tandis qu'il existe un grand nombre de classes et de librairies PHP aussi important qui permet d'en tirer les mêmes bénéfices. W3Avenue a compilé une liste de quelques classes et librairies vraiment utiles avec lesquelles tous les développeurs PHP devraient être familiarisés. Que vous préfériez utiliser un Framework PHP ou non, votre productivité devrait être accrue avec l'aide de ses classes et librairies.

L'article original.

Commentez

- Titre : Les classes et librairies vraiment utiles pour les développeurs PHP

- Auteurs : Saud Khan (Auteur), Joris Crozier (Traducteur)

- Parution : 5 octobre 2009

- Mise à jour : 10 décembre 2019

- Licence : Copyright ® 2009 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.

Sommaire

- I. Base de données

- II. Développement

- III. Document

- IV. Email

- V. Formulaires

- VI. HTML/CSS

- VII. Image/Média/Fichier

- VIII. JavaScript/AJAX

- IX. Microformats

- X. Flux Rss et Atom

- XI. Sécurité

- XII. Tester et déboguer

- XIII. WebServices

- XIV. Liens

I - Base de données

- ADOdb
Une librairie orientée objet écrite en PHP qui abstrait les relations à la base de données pour la portabilité. Elle est modelée sur la librairie ADO de Microsoft, mais a beaucoup d'améliorations qui la rendent unique comme les tables pivots, le support d'active records, la génération de code HTML pour la pagination de jeux de données avec les liens suivants/précédents, jeux de données en cache, la génération de menus HTML, etc.). Supporte un large nombre de bases de données incluant : MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, and generic ODBC, ODBTP.

- Doctrine
Doctrine est un ORM (Mapping d'objet relationnel) pour PHP 5.2.3+ qui s'appuie sur l'une des plus hautes et puissantes couches d'abstraction de données (DBAL). Une de ses fonctions clefs est de pouvoir écrire des requêtes dans un dialecte orienté objet propriétaire appelé Doctrine Query Language (DQL) inspiré du HQL Hibernate. Il fournit aux développeurs une puissante alternative au SQL qui maintient la flexibilité sans avoir recours à de la duplication de code inutile.

- PHPLINQ
Un jeu de classes PHP imitant les méthodes de l'extension LINQ de c#3 (Language Integrated Query). Les fonctions de PHPLinq : les opérateurs LINQ (select, take, skip, orderBy / orderByDescending, thenBy / thenByDescending), les expressions Lambda et les types anonymes.

- Mimesis
Mimesis est une API bas niveau de bases de données par fichiers plats écrite en PHP et Open Source créée pour agir comme backend pour les scripts côté serveur qui demandent les fonctionnalités d'une base de données. Au lieu de parser des états SQL, Mimesis utilise des constructions orientées objet de PHP pour fournir une classe distincte avec différentes méthodes de manipulation de bases de données.

II - Développement

- PHP CodeSniffer
PHP CodeSniffer est un script PHP5 qui segmente et « sniff » le code PHP pour détecter les violations d'un standard de code défini. C'est un outil de développement essentiel qui assure la qualité de votre code. Il peut aussi aider à prévenir des erreurs sémantiques de code des développeurs.

- phpDocumentor
Similaire à Javadoc, écrit en PHP, phpDocumentor peut être utilisé depuis la ligne de commande ou via une interface web pour créer des documentations professionnelles à partir du code PHP. phpDocumentor contient un support pour la liaison à la documentation, incorporant des documents de niveau utilisateur comme les tutoriels la création de codes source surlignés avec des références croisées avec la documentation PHP.

III - Document

- TCPDF
Une classe PHP Open Source pour générer des documents PDF. Ne requiert pas de librairie externe pour les fonctions basiques, supporte tous les formats de page ISO y compris UTF-8, Unicode, les langages RTL et HTML.

- PHPPowerPoint
Basée sur le standard Microsoft OpenXML, la classe PHPPowerPoint vous permet de lire et écrire des documents PowerPoint. Les fonctions incluses : gérer les métadonnées de présentation (auteur, titre, description), ajouter des slides, ajouter des images à votre présentation et plus encore.

- PHPExcel
Basée sur le standard Microsoft OpenXML, la classe PHPExcel vous permet de lire et écrire des documents Excel. Les fonctions incluses sont : gérer les métadonnées (auteur, titre, description…), feuilles multiples, différentes polices et styles de police, les bordures de cellule, les remplissages, les gradients, ajouter des images à vos feuilles et beaucoup, beaucoup plus encore.

- PhpRtf Lite
Le but de cette librairie est de créer des documents RTF avec PHP qui sont compatibles avec Microsoft Word et Open Office Writer. Les fonctions principales incluses : formatage des sections de documents : marges, taille du papier, les bordures et autres (les documents peuvent comporter plusieurs sections), le formatage des entêtes et des pieds de page, le contrôle des paragraphes : arrière-plan, bordures, alignement et autres, le contrôle de la police : gras, italique, face, taille, couleur (il est possible d'utiliser le style de balise HTML), les images embarquées, (formats JPG et PNG), le formatage des tableaux : taille, bordures, arrière-plan, et l'alignement des cellules, le support UTF-8.

- PclZip
Offre des fonctions de compression et d'extraction pour les archives au format ZIP (Winzip, PKZip). Elle vous donne la possibilité de créer des archives, de lister leur contenu et de les extraire dans le système de fichiers. PclZip définit une classe objet représentant une archive Zip. Cette classe manage les propriétés de l’archive et offre des méthodes d'accès et de manipulation de l'archive.

IV - Email

- Swift Mailer
Swift Mailer s'intègre dans n'importe quelle application web écrite en PHP5, offrant une approche objet élégante et flexible pour envoyer des mails avec un multitude de fonctions : envoyer des emails en utilisant un serveur SMTP, SendMail, Postfix, ou n'importe quelle implémentation de transport de votre choix. Supporte les serveurs qui requièrent un user/mot de passe et/ou l'encryptage. Protège contre les injections de headers sans détériorer le contenu des headers d'origine. Envoie des mails multipartie/HTML compatibles MIME, utilise des plugins orientés événements pour customiser la librairie. Maîtrise les grosses pièces jointes et les images en ligne/attachées avec une utilisation mémoire peu gourmande.

- PHPMailer
Classe de transfert d'email pour PHP, pleine de fonctions. Les fonctions de PHPMailer : supporte les emails signés digitalement avec le cryptage S/MIME, supporte les emails avec de multiples destinataires, CC, BCC et REPLY-TO, supporte les emails en HTML et en texte brut, les images embarquées, les emails multipartie/alternatif pour les clients qui ne lisent pas les mails HTML, les serveurs SMTP redondants, l'authentification SMTP. Elle a été testée sur de multiples serveurs SMTP : SendMail, qmail, Gmail, Imail, Exchange, etc.

V - Formulaires

- Securimage
Un CAPTCHA Open Source et gratuit pour générer des images complexes et des codes CAPTCHA pour protéger les formulaires contre le spam et les abus. Il peut être facilement ajouté à vos formulaires sur votre site pour vous protéger des robots de spam.

- phpObjectForms
phpObjectForms est une librairie entièrement orientée objet, hautement customisable, facile à étendre, pour créer et manipuler des formulaires HTML sans écrire de code HTML. Les fonctions principales : le support de tous les éléments standards des formulaires, la validation des saisies côté serveur basée sur les expressions régulières, la prévalidation coté client en JavaScript optionnelle, le support pour les formulaires basés sur des templates. La présentation du formulaire de sortie est entièrement gérée par CSS, vous pouvez donc facilement l'améliorer sans écrire de code, mais uniquement en changeant la feuille de style.

VI - HTML/CSS

- HTML Purifier
HTML Purifier est une librairie est une bibliothèque de filtres conforme aux standards  HTML écrite en PHP. HTML Purifier ne se contentera pas de supprimer le code malicieux (mieux connu comme XSS) avec une liste blanche permissive et hautement auditée, il vérifiera aussi que vos documents sont compatibles avec les standards, quelque chose de seulement réalisable avec une connaissance complète des spécifications du W3C.

- GeSHi - Generic Syntax Highlighter
GeSHi est un colorateur syntaxique pour le HTML, écrit en PHP. Typiquement, vous entrez la source et le nom du langage que vous voulez traiter, GeSHi retourne le résultat syntaxiquement coloré. Mais il ne s'arrête pas là, GeShi possède plusieurs fonctions puissantes et uniques incluant : la possibilité de changer le style de n’importe quel élément coloré à la volée, l'utilisation de classes CSS pour réduire la charge de sortie produite (GeSHi peut aussi produire une feuille de style pour être utilisée sur un langage à la volée), compatible XHTML 1.0 Strict et CSS2, la mise en majuscules/minuscules automatique des mots clefs, la numérotation des lignes (aussi bien sous la forme normale que fantaisiste, essayez la démo) et beaucoup plus !

VII - Image/Média/Fichier

- Asido
Une solution de manipulation d'images, avec des drivers (adaptateurs) plugables pour virtualiser n’importe quel environnement : GD2, Magick Wand, Image Magick via shell, Image Magick via extension, etc. Asido offre les fonctionnalités suivantes : le dimensionnement d'images, les images en filigrane, la rotation d'images, la copie d’images, le recadrage d'images, les nuances de gris, la conversion d’images.

- PHP Thumb
Une librairie de manipulation d'images légère qui vise la génération de miniatures. Elle donne la possibilité de redimensionner par la hauteur, la largeur, un pourcentage, de créer des recadrages personnalisés, ou de calculer les recadrages depuis le centre, de tourner les images. Vous pouvez aussi ajouter facilement des fonctionnalités à la librairie par le biais de plugins. La librairie donne aussi la possibilité de créer de multiples manipulations par instances (aussi connu sous le nom de « chainon »), sans avoir besoin de sauvegarder et réinitialiser la classe à chaque manipulation.

- WideImage
WideImage est une librairie orientée objet pour la manipulation d'images. La librairie se concentre sur les manipulations couramment utilisées et faciles d'emploi. Elle fournit une manière simple et unifiée de charger/sauvegarder des images depuis des fichiers, des chaînes de caractères, des bases de données et aussi des URL (chargement seulement, doit être active dans PHP). Supporte les formats d’images les plus connus GIF, PNG, JPEG, GD et GD2.

- Smart Image Resizer
Vous permet de redimensionner et recadrer n'importe quelle image sur votre site sans toucher à l'image ou écrire du code. Uploadez simplement vos images dans une résolution suffisamment haute et réutilisez-les dans la taille que vous voulez, où vous le voulez. Les fonctions incluses : redimensionner les JPEG, GIF et PNG, l'éclaircissement intelligent des images de n’importe quelle taille, peut redimensionner sur la base du ratio hauteur/largeur, peut rendre transparent le fond des GIF et des PNG, un cache intégré pour garder les variations des images pour des performances optimales.

- class.upload.php
Ce script PHP upload les fichiers et manipule les images facilement. Le script parfait pour générer des miniatures ou créer une galerie photo. Il peut convertir, redimensionner et travailler sur les images uploadées de plusieurs manières, ajouter des libellés, ajouter un filigrane et de la réflexion et d'autres fonctions d'édition. Vous pouvez les utiliser pour uploader des fichiers à travers un formulaire HTML, un uploader Flash, ou un fichier local.

- getID3()
Un script PHP qui extrait les informations utiles (comme les tags ID3, le bit-rate, la durée, etc.) de fichiers mp3 et d'autres formats multimédias (Ogg, WMA, WMV, ASF, WAV, AVI, AAC, VQF, FLAC, MusePack, Real, QuickTime, Monkey's Audio, MIDI et plus).

VIII - JavaScript/AJAX

- PHPLiveX
PHPLiveX est une librairie PHP-JavaScript légère qui vous aide à intégrer de l'AJAX dans vos scripts PHP. Sans recharger votre page, vous pouvez appeler vos fonctions dans la même page. Soumettre vos formulaires à une URL et envoyer une requête à une autre page avec n'importe quel type de donnée.

- Xajax
Xajax est une librairie Open Source PHP et JavaScript qui vous permet de créer des applications puissantes en Ajax qui utilisent HTML, CSS, JavaScript et PHP qui peuvent appeler de manière asynchrone des fonctions PHP côté serveur pour mettre à jour du contenu.

IX - Microformats

- Xmf Parser
Parseur de microformats extensible pour PHP5. Supporte actuellement les microformats comme xfn, rel-license, rel-tag, geo, adr, hcard, hcalendar, hreview, hresume.

- iCalcreator
iCalcreator est une classe de management PHP pour formater des fichiers iCal pour les systèmes qui ne sont pas des calendriers comme les CMS, les projets de système de management, et les autres applications capables de créer des informations calendaires. iCalcreator crée, parse, édite et sélectionne les calendriers et les composants de calendrier.

- hKit
Un outil simple en PHP5 pour extraire les microformats communs d'une page. La page peut appeler une chaîne de caractères ou une URL, et le résultat est retourné en tant que tableau PHP. hKit utilise SimpleXML pour parser et requiert donc PHP5.

- Transformr
Un simple jeu d'outils XSLT et PHP pour convertir des microformats.

X - Flux Rss et Atom

- SimplePie
Une classe PHP Open Source qui fournit une API facile à utiliser pour gérer tout le travail rébarbatif lors de la récupération, la mise en cache, le parsing, la normalisation des données entre les flux RSS et Atom, gérant aussi la traduction d'encodage des caractères, et en nettoyant les données qui en résultent.

XI - Sécurité

- PHP Intrusion Detection System (PHPIDS)
Une couche de sécurité, simple à utiliser, bien structurée rapide et à l'état de l'art pour les applications basées sur PHP. L'IDS ni ne déshabille, ni n'assainit, ni ne filtre une saisie malveillante, il reconnaît simplement quand un attaquant essaye de casser votre site et réagit exactement comme vous le souhaitez. Actuellement PHPIDS détecte toute les sortes de XSS, injections SQL, injections des headers, traversée de répertoire, RFE/LFI, attaques DOS et LDAP. Basé sur un jeu de filtres approuvé et lourdement évalué il juge et donne à n'importe quelle attaque une évaluation d'impact numérique qui facilite le choix de l'action à suivre après la tentative de piratage. Cela pourrait s'étendre de l'enregistrement simple à l'émission d'un mail de secours à l'équipe de développement, l'affichage d'un message d'alerte pour l'attaquant ou même la fin de la session de l'utilisateur.

XII - Tester et déboguer

- PHPUnit
PHPUnit est un membre de la famille xUnit des Frameworks de test et fournit aussi bien un Framework qui permet l'écriture des tests facilement et l'exécution des fonctions de test que l'analyse de leurs résultats.

- SimpleTest
SimpleTest est similaire à JUnit/PHPUnit. Il supporte les faux objets et peut être utilisé pour automatiser les tests de régression d'une application web avec un client http scriptable qui peut parser les pages HTML et simuler des événements comme le clic sur des liens ou les soumissions de formulaires.

- PHP Debug
Fournit de l'assistance dans le débogage de code PHP, par les traces, l'affichage des variables, le chronométrage des process, les fichiers inclus, les requêtes exécutées. Ces informations sont rassemblées pendant l'exécution du script et sont affichées à la fin du script (dans une belle div flottante ou une table HTML) pour qu'elles soient lues et utilisées à n’importe quel moment.

XIII - WebServices

- XML-RPC Library for PHP
Un client et un serveur totalement compatible XML-RPC écrit en pur PHP. Tout ce qu'il nécessite c'est PHP, et le parseur XML vous est garanti si vous utilisez PHP fourni avec Apache (comme la plupart des gens).

Les API et librairies PHP pour les services les plus populaires :

- Amazon Web Services

- Bing API PHP Library

- Delicious - PhpDelicious

- Digg PHP API

- Facebook - Official PHP Client Library

- Flickr - phpFlickr

- GeoIP PHP API

- Google's Data APIs

- Gravatar: Gravatar Wrapper Class

- PayPal API

- reCAPTCHA - PHP Library

- Twitter: PHP Twitter, Twitter Class

- Yahoo! Web Services APIs

Plus d'API pour les web services : ProgrammableWeb

XIV - Liens

Vous pouvez aussi aller voir mes autres traductions.