Section courante

A propos

Section administrative du site

 Langage  Installation  Elément  Tutoriel  Programmation  Bibliothèque  API  SDK  Cadre d'application  Gabarit  Projet  IDE  Outils  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Installation de PHP
Installation de CodeMix 3 avec PHP sous Eclipse
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucles
Les instructions d'exceptions
Définition de fonction
Type de données
Référence de mots réservés
Référence de fonctions
Référence des classes
Référence des extensions
Variables globales
Chaine de caractères
Ajouter du PHP dans le HTML
Syntaxe et variables
Bonjour
Astronomie
Base de données
Biochimie
Conversion
Electricité
Fichier
Finance
Géographie
Géométrie
Gouvernement
Histoire
Mathématique
Médicale
Météorologie
Océanographie
Sport
Temps
Tri
Trigonométrie
Validation
Phase lunaire
Recherche/Formulaire
Calcul du calcium corrigé
Calcul le taux d'alcoolémie
HTML à texte
Source Pascal en syntaxe coloré
Bin,Hex,Base62,...
Calcul du tarif d'une piscine pour 1 mois
Lecture d'un fichier texte séquentiel
Lecture d'un fichier .VNT (vNote de cellulaire)
Conversion d'un fichier CSV à XML
Conversion d'un fichier CSV à SQL
IPaymt/Interet
NPer
PPaymt/Principal
Distance en Km entre deux longitudes et latitudes
Distance en Km entre deux IP
Aire d'un cercle
Aire d'une surface de prisme rectangulaire
Aire d'un triangle
Distance entre deux points
Taxe de vente canadienne
Chiffre romain
Exp
Factoriel
Fibonacci
Log
Nombre premier
Odd
Random
Sqrt
Triangle Pascal
Hauteur utérine
Unité de mesure
Fréquence des vagues
Hockey
Année bissextile
Date de la Pâque
Jour férié
FirstDayOfMonth
Tri à bulle (Bubble Sort)
Tri Shell Sort
ArcCos
ArcSin
Atn/ATan/ArcTan
Cos
Sin
Courriel
codebird-php
Doctrine (ORM)
FPDF Library
Guzzle
recaptchalib.php
TwitterOAuth.php
Propel API
AWS SDK for PHP
Adventure PHP Framework (APF)
Agavi
Akelos
CakePHP
Code Igniter
Flourish
FLOW3
FuelPHP
Laravel
PHPDevShell
PHP on Trax
Prado
Seagull
Symfony
Yii Framework
Zend
Zoop
Mustache
Smarty
TWIG
Codiad Web IDE
Drupal
Joomla!
Nstein
phpBB
phpMyAdmin
SquirrelMail
vTiger CRM
WordPress
Dreamweaver
Eclipse
HomeSite
Komodo IDE
NetBeans
PhpStorm
Sublime Text
Zend Studio
Composer
Serveur WAMP
Téléchargement
Code d'erreur
Vocabulaire
php.ini
ASP versus PHP
ColdFusion versus PHP
Bibliographie
Préface
Notes légal
Dictionnaire
Recherche
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+


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 16 janvier 2016