Saisir un mot clé:
 
 

php

Ce site est un miroir du site http://fr.wikipedia.org/wiki/Accueil

PHP: Hypertext Preprocessor

Un article de Wikipédia, l'encyclopédie libre.

« PHP » redirige? ici. Pour les autres significations, voir PHP (homonymie).
image:Langage_progr.png
Cet article fait partie de la série
langages de programmation
Langages à objets
C++ - C# - D
Delphi - Eiffel - Groovy
Java - Lisaac - Python - Ruby
Simula - Smalltalk
Visual Basic - WLangage
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol - Natural
Forth - Fortran - Limbo
Logo - Pascal - Perl - PHP
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme - XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage
Tests - Optimisations
PHP
PHP
Développeur The PHP Group
Dernière version 5.2.5
Date 8 novembre 2007
Paradigme Programmation impérative, orientée objet, fonctionnelle
Typage Typage dynamique et faible
Influencé par Perl, C
Système d'exploitation Multi-plate-forme
Licence Licence PHP - source
Site Web http://www.php.net/

PHP (acronyme récursif pour PHP: Hypertext Preprocessor[1]), est un langage de scripts libre[2] principalement utilisé pour produire des pages web dynamiques via un serveur HTTP[1], mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. PHP est un langage impératif disposant depuis la version 5 de fonctionnalités de modèle objet complètes[3]. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une plate-forme plus qu'un simple langage.

Sommaire

[] Historique

Le langage PHP est créé en 1994 par Rasmus Lerdorf pour son site Web. C'était à l'origine une bibliothèque logicielle en Perl dont il se servait pour conserver une trace des visiteurs qui venaient consulter son CV. Au fur et à mesure qu'il ajoutait de nouvelles fonctionnalités, Rasmus a transformé la bibliothèque en une implémentation en langage C, capable de communiquer avec des bases de données et de créer des applications dynamiques et simples pour le Web. Rasmus décida alors en 1995 de publier son code, pour que tout le monde puisse l'utiliser et en profiter. PHP s'appelait alors PHP/FI (pour Personal Home Page Tools/Form Interpreter). En 1997, deux étudiants, Andi Gutmans et Zeev Suraski, redéveloppèrent le c?ur de PHP/FI. Ce travail aboutit un an plus tard avec Zend Engine, le nouveau c?ur de PHP/FI, devenu alors PHP: Hypertext Preprocessor en version 3.[4]

En 2002, PHP est utilisé par plus de 8 millions de sites web à travers le monde[5], et en 2004 par plus de 15 millions[réf. souhaitée].

La version actuelle est la version 5, sortie le 13 juillet 2004[6]. Elle utilise Zend Engine 2 et introduit un véritable modèle objet, une gestion des erreurs fondée sur le modèle des exceptions, ainsi que des fonctionnalités de gestion pour les entreprises. PHP 5 apporte beaucoup de nouveautés, telles que le support de SQLite, qui est un système léger de gestion de bases de données embarqué, au détriment de la bibliothèque cliente de MySQL, plus puissante mais qui n'est désormais plus activée par défaut, ainsi que des moyens de manipuler des fichiers et des structures XML basés sur libxml2 :

  • une API simple nommée SimpleXML,
  • une API Document Object Model assez complète,
  • une interface XPath utilisant les objets DOM et SimpleXML,
  • intégration de libxslt pour les transformations XSLT via l'extension XSL,
  • une bien meilleure gestion des objets par rapport à PHP 4, avec des possibilités équivalentes à celles de Java.

La dernière mise a jour est la 5.2.5 datant du 8 novembre 2007[7].

La version 4.4.x ne sera plus maintenue après le 31 décembre 2007[6],[8]. Seuls les patchs de sécurité critiques seront encore développés jusqu'à la date du 8 août 2008[8].

[] Présentation

Le langage PHP est utilisé principalement en tant que langage de script côté serveur, ce qui veut dire que c'est le serveur (la machine qui héberge la page web en question) qui va interpréter le code PHP et générer du code (constitué généralement d'XHTML ou d'HTML, de CSS, et parfois de JavaScript) qui pourra être interprété par un navigateur. PHP peut également générer d'autres formats en rapport avec le Web, comme le WML, le SVG, ou encore le format PDF.

Il a été conçu pour permettre la création d'applications dynamiques, le plus souvent dédiées au Web. PHP est très majoritairement installé sur un serveur Apache, mais peut être installé sur les autres principaux serveurs HTTP du marché, par exemple IIS. Ce couplage permet de récupérer des informations issues d'une base de données, d'un système de fichiers (contenu de fichiers et de l'arborescence) ou plus simplement des données envoyées par le navigateur afin d'être interprétées ou stockées pour une utilisation ultérieure.

C'est un langage peu typé et souple et donc facile à apprendre par un débutant mais, de ce fait, des failles de sécurité peuvent rapidement apparaître dans les applications. Pragmatique, PHP ne s'encombre pas de théorie et a tendance à choisir le chemin le plus direct. Néanmoins, le nom des fonctions (ainsi que le passage des arguments) ne respecte pas toujours une logique uniforme, ce qui peut être préjudiciable à l'apprentissage.

Son utilisation commence avec le traitement des formulaires puis par l'accès aux bases de données. L'accès aux bases de données est aisé une fois l'installation des modules correspondant effectuée sur le serveur. La force la plus évidente de ce langage est qu'il est devenu au fil du temps un incontournable des offres d'hébergement.

Libre, gratuit, simple d'utilisation et d'installation, ce langage nécessite comme tout langage de réseau une bonne compréhension des mécanismes sous-jacents ainsi qu'une connaissance des problèmes de sécurité.

[] Fonctionnement

Sa syntaxe et sa construction ressemblent à celles des langages Java et Perl, à la différence que le PHP peut être intégré dans du code HTML. PHP appartient par ailleurs à la grande famille des descendants du C, dont la syntaxe est très proche.

Dans une utilisation Web, l'exécution du code PHP se déroule ainsi : lorsqu'un visiteur demande à consulter une page web, son navigateur envoie une requête au serveur HTTP correspondant. Si la page contient du code PHP (généralement renseigné par l'extension .php), l'interprète PHP du serveur le traite et génère le code final de la page (constitué d'HTML ou de XHTML, mais aussi souvent de CSS et de JS). Ce contenu est renvoyé au serveur HTTP, qui l'envoie finalement au client.

Ce schéma explique ce fonctionnement :

Schéma du fonctionnement de PHP

Il est à noter qu'une étape supplémentaire est souvent ajoutée : celle du dialogue entre PHP et la base de données. Classiquement, PHP ouvre une connexion au serveur de SGBD voulu, lui transmets des requêtes et en récupère le résultat, avant de fermer la connexion.

Capture d'écran de vi en fond, affichant un script PHP, et à droite le résultat du script interprété par PHP
Capture d'écran de vi en fond, affichant un script PHP, et à droite le résultat du script interprété par PHP

L'utilisation de PHP en tant que générateur de pages web dynamiques est la plus répandue, mais peut aussi être utilisé comme langage de programmation en ligne de commande sans utiliser de serveur HTTP ni de navigateur.

Pour réaliser un script PHP exécutable en ligne de commande, il suffit comme en Perl ou en Bash d'insérer dans le code en première ligne le shebang : #!/usr/bin/php (/usr/bin/ est le répertoire standard des fichiers binaires exécutables sur la plupart des distributions).

Il existe aussi une extension appelée PHP-GTK permettant de créer des applications clientes graphiques sur un ordinateur disposant de la bibliothèque graphique GTK.

PHP possède un grand nombre de fonctions permettant des opérations sur le système de fichiers, la gestion des bases de données, des fonctions de tri et hachage, le traitement de chaînes de caractères, la génération et la modification d'images, des algorithmes de compression...

Le moteur de Wikipédia est écrit en PHP avec une base MySQL. Il s'intègre donc dans une plateforme LAMP.

[] Syntaxe

Un exemple du traditionnel Hello World :

<?php
   echo 'Hello, World';
?>

ou

<?php
   print ('Hello, World');
?>

ou encore (obsolète, peu recommandée)

<?='Hello, World' ?>

Résultat affiché :

Hello, World

PHP interprète uniquement le code qui est délimité par <?php et ?>. D'autres balises d'ouvertures et de fermetures existent, notamment les balises courtes <? et ?>, mais elles sont fortement déconseillées car elles dépendent du fichier de configuration php.ini ; la portabilité du code en est alors diminuée.[9]

[] Mascotte

L'ElePHPant, mascotte non-officielle de PHP
L'ElePHPant, mascotte non-officielle de PHP

PHP est souvent accompagné de l'elePHPant, dessiné par El Roubio. Il s'est inspiré de la ressemblance des lettres PHP avec un éléphant, d'où le nom. El Roubio a aussi inventé la PHPin'up. Toutes ses ?uvres sont distribuées sous licence GNU/GPL. Il existe aussi des origamis ElePHPant.

[] Quelques exemples d'application

[] Différentes plates-formes

Un serveur web moderne est généralement caractérisé par son système d'exploitation, son serveur HTTP, son langage serveur et enfin son système de gestion de base de données (SGBD), ceci constituant une plate-forme.

Dans le cas de PHP comme langage serveur, les combinaisons les plus courantes sont celles d'une plateforme LAMP (pour Linux Apache MySQL PHP) et WAMP (Windows Apache MySQL PHP). Une plate-forme WAMP s'installe généralement par le biais d'un seul logiciel qui intègre Apache, MySQL et PHP, comme par exemple EasyPHP, VertrigoServ ou WampServer. Il est à noter qu'il existe le même type de logiciels pour les plate-formes MAMP (Mac OS Apache MySQL PHP), à l'exemple du logiciel MAMP.

Il existe d'autres variantes, par exemple les plate-formes LAPP (le M de MySQL est remplacé par le P de PostgreSQL) ou encore le logiciel XAMPP (Apache MySQL Perl PHP ; le X indique que le logiciel est multi-plate-formes), un kit de développement multi-plate-formes.

Bien entendu, on peut décliner une grande variété d'acronymes sous cette forme. Des confusions peuvent parfois exister entre la plate-forme en elle-même et le logiciel permettant de l'installer, si elles ont le même nom. Il faut également remarquer que la grande majorité des logiciels « tout en un » sont destinés au développement d'applications web en local, et non à être installés sur des serveurs Web.

[] Voir aussi

[] Articles connexes

[] Liens externes

wikt:

Voir « PHP » sur le Wiktionnaire.

b:Accueil

Wikibooks propose un ouvrage abordant ce sujet : la programmation PHP.

[] Livres

[] Notes et références

  1. ? a? b? Manuel PHP : Préface sur PHP.net. Consulté le 7 novembre 2007
  2. ? (en) La license de PHP est reconnue libre par la Free Software Foundation. Consulté le 7 novembre 2007
  3. ? Nouveau modèle objet de PHP 5 sur PHP.net. Consulté le 7 novembre 2007
  4. ? Histoire de PHP sur PHP.net. Consulté le 7 novembre 2007
  5. ? (en) Netcraft web Server Survey - février 2002. Consulté le 7 novembre 2007
  6. ? a? b? (en) Historique des sorties de PHP sur PHP.net. Consulté le 7 novembre 2007
  7. ? (en) Dernière sortie de PHP en date sur PHP.net. Consulté le 10 novembre 2007
  8. ? a? b? (en) PHP 4 end of life announcement sur PHP.net. Consulté le 7 novembre 2007
  9. ? Balises d'ouvertures et de fermetures PHP sur PHP.net. Consulté le 8 novembre 2007
 
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/php
Home

Données
A la une
Articles
Formatons en lignes
Téléchargement
Licence GNU
Encyclopedie
Portail logiciels libres

Partenaires

beyrouthsurseine.com
Sonnerie & Logos
Photos-Video
Ringtones-Sonnerie
Actualite.org
Terrain tennis

  
Juillet 2008
L
M
M
J
V
S
D
123456
78910111213
14 151617181920
21222324252627
28293031
     
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com