PHP - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

PHP
PHP

Développeur The PHP Group
Paradigmes Programmation impérative
orientée objet
fonctionnelle
Typage Typage dynamique
faible
Influencé par Perl
C/C++
Java
Système d'exploitation Multiplate-forme
Licence Licence PHP
Site Web www.php.net

PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, 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. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une plate-forme plus qu'un simple langage.

Historique

Le langage PHP fut 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 à la version 3 de PHP, devenu alors PHP: Hypertext Preprocessor. Peu de temps après, Andi Gutmans et Zeev Suraski commencèrent la réécriture du moteur interne de PHP. Ce fut ce nouveau moteur, appelé Zend Engine qui servit de base à la version 4 de PHP

En 2002, PHP est utilisé par plus de 8 millions de sites Web à travers le monde et en 2007 par plus de 20 millions.

Un indicateur paradoxal de la popularité de PHP est le nombre de failles de sécurité concernant des applications PHP et listées avec un identifiant CVE sur la National Vulnerability Database, base de données américaine. Ces failles représentent 12% du total en 2003, 20% en 2004, 28% en 2005, 43% en 2006, 36% en 2007, 38% sur les deux premiers mois de 2008. Plus d'un quart des vulnérabilités répertoriées sur cette base concerne des applications PHP, plus d'un tiers ces dernières années, et la plupart peuvent être exploitées à distance. Ces vulnérabilités s'expliquent par de mauvaises habitudes de programmation (souvent un défaut de validation des entrées) alliées à des caractéristiques douteuses du langage lui-même (par exemple register globals, maintenant déconseillé).

La version actuelle est la version 5, sortie le 13 juillet 2004. 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 qui tendent à se rapprocher de celles de Java.

La dernière mise à jour est la 5.3.2 datant du 4 mars 2010.

La version 4.4.x n'est plus maintenue depuis le 31 décembre 2007. Seuls les patchs de sécurité critiques ont encore été développés jusqu'à la date du 8 août 2008.

La prochaine version : PHP 6 est en développement.

Historique des versions

Code des couleurs
Rouge Ancienne version, non supportée
Vert Version actuelle, supportée
Bleu Version à venir
Version majeure Version mineure Date de sortie Notes
1.0 1.0.0 8 juin 1995 Appelé officiellement "Personal Home Page Tools (PHP Tools)", outils pour page personnelle. C'est la première apparition du nom "PHP".
2.0 2.0.0 12 novembre 1997 Considéré par son créateur comme le plus simple outil de création de pages web dynamiques.
3.0 3.0.0 6 juin 1998 Passage d'une personne à une équipe de développeurs. Zeev Suraski et Andi Gutmans réécrivent la base de cette version.
4.0 4.0.0 22 mai 2000 Ajoute système d'analyseur syntaxique plus avancé appelé le Zend engine. Ce moteur procède en deux étapes d'analyse puis d'exécution.
4.1.0 10 décembre 2001 Introduit les superglobals ($_GET, $_POST, $_SESSION, etc.)
4.2.0 22 avril 2002 Désactive register_globals par default. Les données en provenance du réseau ne sont plus insérées directement dans l'espace de nom global, réduisant ainsi les possibilités de failles de sécurité
4.3.0 27 décembre 2002 Introduit le CLI, en addition au CGI.
4.4.0 11 juillet 2005 Ajout du manuel (pages accessibles par la commande man) pour les scripts phpize and php-config.
4.4.8 3 janvier 2008 Correction de bugs et de failles de sécurité. Devait être la dernière correction de PHP 4.4. Mises à jour de sécurité uniquement jusqu'au 8 août 2008 si nécessaire.
4.4.9 7 août 2008 Plus de sécurité et résolution de bugs. Dernière version de PHP 4.4.
5.0 5.0.0 13 juillet 2004 Zend Engine II avec un nouveau modèle objet.
5.1.0 24 novembre 2005 Amélioration de performances par l'introduction de compiler variables dans un moteur PHP repensé.
5.2.0 2 novembre 2006 Activation par défaut de l'extension «filter».
5.2.8 8 décembre 2008 Correction urgente d'un bug
5.2.9 26 février 2009
5.2.10 18 juin 2009
5.2.11 17 septembre 2009
5.2.12 17 décembre 2009
5.2.13 25 février 2010
5.2.14 22 juillet 2010 Dernière version de la branche 5.2, hors correction de problèmes concernant la sécurité.
5.3.0 30 juin 2009 support des espaces de noms; Late Static Bindings (résolution statique à la volée), étiquettes de saut (goto limité), fermetures, Native PHP archives (phar), Ramasse-miettes de références cycliques, connexion persistante avec mysqli, sqlite3, Ajoute fileinfo en tant que remplacement de mime_magic pour un meilleur support de MIME, raccourci pour l’opérateur ternaire (?:), fonctions anonymes, nombreuses corrections de bug, ...
5.3.1 19 novembre 2009 Correction d'un problème au niveau du téléchargement de fichier pouvant être utilisé pour effectuer une attaque par déni de service.
5.3.2 4 mars 2010 Correction d'un grand nombre de bugs
5.3.3 22 juillet 2010 Introduit PHP-FPM
6.0 6.0.0 Pas de date fixée Support de Unicode; suppression de l'extension ereg, de register_globals, magic_quotes et safe_mode; Alternative PHP Cache
Page générée en 0.088 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise