PHP (officiellement, ce sigle est un acronyme récursif pour PHP Hypertext Preprocessor) est un langage de scripts généraliste et Open Source, spécialement conçu pour le développement d'applications web. Il peut être intégré facilement au HTML.
Bien... mais qu'est-ce que cela veut dire ? Un exemple :
Exemple #1 Exemple d'introduction
<!DOCTYPE html>
<html>
<head>
<title>Exemple</title>
</head>
<body>
<?php
echo "Bonjour, je suis un script PHP !";
?>
</body>
</html>
Au lieu d'utiliser des tonnes de commandes afin d'afficher du HTML (comme en
C ou en Perl), les pages PHP contiennent des fragments HTML dont du code
qui fait "quelque chose" (dans ce cas, il va afficher
"Bonjour, je suis un script PHP !").
Le code PHP est inclus entre
une balise de début
<?php et une balise de fin ?>
qui permettent au serveur web de passer en mode PHP
.
Ce qui distingue PHP des langages de script comme le Javascript, est que le code est exécuté sur le serveur, générant ainsi le HTML, qui sera ensuite envoyé au client. Le client ne reçoit que le résultat du script, sans aucun moyen d'avoir accès au code qui a produit ce résultat. Il est même possible de configurer le serveur web afin qu'il analyse tous les fichiers HTML comme des fichiers PHP. Ainsi, il n'y a aucun moyen pour les utilisateurs de savoir que PHP est utilisé.
Le grand avantage de PHP est qu'il est extrêmement simple pour les néophytes, mais offre des fonctionnalités avancées pour les experts. Il ne faut pas se laisser effrayer par la longue liste de fonctionnalités PHP. Avec PHP, presque tout le monde peut commencer rapidement et écrire des scripts simples en un rien de temps.
Bien que le développement de PHP soit orienté vers la programmation pour les sites web, on peut faire bien plus avec PHP. Consulter la section Que peut faire PHP ? ou bien le tutoriel d'introduction pour passer directement à l'apprentissage de la programmation web.
Tout. PHP est principalement conçu pour servir de langage de script côté serveur, il peut donc faire tout ce qu'un autre programme CGI peut faire, comme collecter des données de formulaire, générer du contenu dynamique, ou gérer des cookies. Mais PHP peut en faire bien plus.
Il y a deux domaines différents où PHP peut s'illustrer.
PHP est utilisable sur la majorité des systèmes d'exploitation, comme Linux, de nombreuses variantes Unix (incluant HP-UX, Solaris et OpenBSD), Microsoft Windows, macOS, RISC OS et d'autres encore. PHP supporte aussi la plupart des serveurs web actuels dont Apache, IIS et bien d'autres. Et ceci inclut tous les serveurs web qui peuvent utiliser le binaire PHP FastCGI, comme lighttpd et nginx. PHP fonctionne sous forme de module, ou comme processeur CGI.
Avec PHP, les développeurs ont le choix du système d'exploitation et du serveur web. De plus, ils ont aussi le choix d'utiliser la programmation procédurale ou objet (OOP), ou encore un mélange des deux.
PHP ne se limite pas à la production de code HTML. Ses capacités incluent la création de types de fichiers riches, tels que des images ou des fichiers PDF, le chiffrement de données et l'envoi d'e-mails. Il peut également facilement générer n'importe quel texte, tel que JSON ou XML. PHP peut générer automatiquement ces fichiers et les enregistrer dans le système de fichiers au lieu de les imprimer, formant ainsi un cache côté serveur pour le contenu dynamique.
Une des forces les plus significatives de PHP est qu'il supporte énormément de bases de données. Écrire une page web faisant appel à une base de données devient terriblement simple, en utilisant une des extensions spécifiques aux bases de données (c.-à-d. pour mysql), ou utilisant une classe d'abstraction comme PDO, ou une connexion à n'importe quelle base de données supportant le standard Open Database Connection via l'extension ODBC. Les autres bases de données peuvent utiliser l'extension cURL ou sockets comme CouchDB.
PHP supporte de nombreux protocoles comme LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (sous Windows) et encore d'autres. Il peut aussi ouvrir des sockets réseau, et interagir avec n'importe quel autre protocole. PHP supporte le format d'échange de données complexes WDDX, permettant de communiquer entre pratiquement tous les langages de programmation web. En termes d'interconnexion, PHP supporte aussi les objets Java, et les utilise de manière transparente comme objets intégrés.
PHP possède des fonctionnalités utiles dans le traitement de texte, incluant les expressions régulières compatibles Perl (PCRE), ainsi que bon nombre d'extensions et d'utilitaires pour analyser et accéder aux documents XML. PHP standardise toutes les extensions XML sur la solide base de libxml2, et étend le jeu de fonctionnalités en ajoutant le support de SimpleXML, XMLReader et XMLWriter.
Beaucoup d'autres extensions existent, catégorisées alphabétiquement et par catégorie. Et enfin, il existe des extensions PECL qui peuvent (ou pas) être documentées dans le manuel PHP, comme » XDebug.
Cette page ne suffit pas pour lister toutes les fonctionnalités et avantages que PHP peut offrir. Consulter la section sur l'installation de PHP et la référence des fonctions pour des explications sur les extensions mentionnées ici.