Section courante

A propos

Section administrative du site

Fiche technique
Type de produit : Langage de programmation
Auteur : Rasmus Lerdorf
Date de publication : 1994
Licence : PHP License

Introduction

Le langage PHP est l'abréviation de «PHP: Hypertext Preprocessor», mais les deux premières versions, l'abréviation était Personal Home Page. Il a été inventé en 1994 par Rasmus Lerdorf.

A l'origine se langage de programmation a été développé pour des serveurs Web, afin qu'il soit plus facile que le langage de programmation Perl pour le développement de page Web. Ce n'est que très récemment qu'il a été porté pour .NET sous le nom de Phalanger, le projet Quercus (pour exécuter du PHP en Java, pour s'héberger sous Google App Engine par exemple) ou Delphi for PHP (version mélangeant à la fois Delphi pour les composantes comme IntraWeb et PHP), mais il ne s'agit pas de son orientation principal. Les versions suivi, par la communauté, sont davantage 3, 4, 5 et 7 destiné uniquement pour le Web et ils l'utilisent en grande majorité avec MySQL.

Points fort et points faibles

Tout d'abord, voici les avantages de se langage de programmation :

Enfin, voici les désavantages de se langage de programmation :

Les possibilités d'extensibilité

Le PHP n'a pas jusqu'à maintenant de balise intégré, par contre il est possible de combiné les balises ESI (esi:attempt, esi:include, esi:try,...) avec les pages PHP si vous utilisez un serveur Web Apache Traffic Server (TS) avec l'«ESI plugin». Cette possibilité peut s'avérer fort ingénieuse pour des sites avec des générations de contenu et un traffic très élévé (voir Articles - Optimisation pour des sites à haut niveau de trafic).

Les versions

Les versions sont une véritable mélange de superposition entre les sous-versions. Tout d'abord, la version 4 et la version 5 se sont chevauchées pendant un bon moment et il règne une certaine confusion entre les sous-versions des deux. Ensuite, la version PHP6 fut abonnées il y a une année. Cela mit un doute sur l'avenir du PHP. En attendant, bien que Facebook et le projet Drupal (CMS) les font vivres, les sous-versions de PHP on prit le relais.

La version 5.3 amène les espaces de noms (namespace) comme l'a proposé le .NET avec C#, VB .NET et Visual C++ .NET. Cette possibilité offre la possibilité d'empiler plein de projet en conflit entre eux et d'en faire une solution unique. Cette astuce peut être intéressante pour des gros projets mais en même temps peut ajouter de la médiocrité par une redondance de certains projets fusionner à toute hâte. Un projet utilisant cette caractéristiques c'est bien sûre Assetic for Asset Management de Symfony et ayant justement une lourdeur en terme d'espace disque assez imposante.

Voici les versions les plus communes de PHP :

Version Date de publication
1.0.0 8 juin 1995
2.0.0 12 novembre 1997
3.0.0 6 juin 1998
4.0.0 22 mai 2000
4.1.0 10 décembre 2001
4.2.0 22 avril 2002
4.3.0 27 décembre 2002
4.4.0 11 juillet 2005
4.4.8 3 janvier 2008
4.4.9 7 août 2008
5.0.0 13 juillet 2004
5.1.0 24 novembre 2005
5.2.0 2 novembre 2006
5.2.8 8 décembre 2008
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
5.2.15 9 décembre 2010
5.2.16 16 décembre 2010
5.2.17 6 janvier 2011
5.3.0 30 juin 2009
5.3.1 19 novembre 2009
5.3.2 4 mars 2010
5.3.3 22 juillet 2010
5.3.4 10 décembre 2010
5.3.5 6 janvier 2011
5.3.6 17 mars 2011
5.3.7 18 août 2011
5.3.8 23 août 2011
5.3.9 10 janvier 2012
5.3.10 2 février 2012
5.3.11 26 avril 2012
5.3.12 3 mai 2012
5.3.13 8 mai 2012
5.3.14 14 juin 2012
5.4.0 1er mars 2012
5.4.1 26 avril 2012
5.4.2 3 mai 2012
5.4.3 8 mai 2012
5.4.4 14 juin 2012
5.4.4 14 juin 2012
5.5 20 juin 2013
5.6.0 28 août 2014
5.6.17 7 Janvier 2016
7.0.2 7 Janvier 2016
... ...

Remarque

PHP6

Étant donné l'abandon du PHP6, les développeurs de PHP se retrouvaient coincé avec un produit n'évoluant plus vraiment. Il fallait donc élevé nos horizons vers des concurrents mais partenaire de PHP. La meilleure optique dans ce sens, c'était bien sûre HipHop for PHP de Facebook (aussi connu sous le nom de Hphp). Il s'agissait d'un moteur de script PHP complètement redéveloppé par Facebook, lequel était une version beaucoup plus performantes que le moteur PHP, car il transforme le code PHP en C++ optimisé. Il s'agissait sens nulle doute de la meilleure optique en terme d'avenir pour le PHP en se moment là. Cependant, Facebook a également créer un langage de programmation du nom Hack fortement inspiré du PHP, il aurait pu également s'agir d'une solution d'avenir...

PHP7

Le PHP apporte des améliorations considérables au niveau des applications avec de nombreux fichiers et des classes complexes, ainsi des projets comme Drupal s'en retrouve grandement accéléré. De plus, l'écart de performance existant avec la version HipHop for PHP de Facebook est enfin rattrapé.

Cadres d'application

Voici quelques cadres d'applications (Framework) utilisable avec le PHP :

Nom Description Compatibilité
Agavi Développer selon une conception de modèle Modèle-Vue-Contrôleur (MVC) PHP5+
Akelos Développer selon une conception de modèle Modèle-Vue-Contrôleur (MVC) avec AJAX PHP4+
AWF Gestionnaire de contenu ayant évolué vers un cadre d'application (Framework) PHP5+
CakePHP Conception selon le modèle Modèle-Vue-Contrôleur (MVC), style Ruby on Rails. PHP4+
Castor Créer par la société 2LE pour les entreprises, très simple mais efficace. PHP4+
Cerebral Cortex Développement d'application rapidement PHP5+
Code Igniter Basé sur une boite à outils PHP4+
Copix Développer en 5 couches et entièrement POO PHP4+
Graniware Le portail communautaire Limousin PHP4+
Laravel Cadre d'application MVC PHP5.6+
PEAR La référence des cadres d'applications (Framework) PHP4+
Portix-PHP Utilise aucune base de données mais un système de fichier texte PHP4+
QCodo Développer selon une conception de modèle Modèle-Vue-Contrôleur (MVC) PHP5+
Symfony Développer selon une conception de modèle Modèle-Vue-Contrôleur (MVC) PHP5+
Zend Framework Très professionnel et puissant. Supporté par Zend et IBM PHP5.1.4+


Dernière mise à jour : Samedi, le 16 janvier 2016