PHP (PHP Hypertext Preprocessor)

Auteur: Mohamed CHINY Durée necessaire pour le cours de PHP (PHP Hypertext Preprocessor) Niveau recommandé pour le cours de PHP (PHP Hypertext Preprocessor) Supports vidéo non disponibles pour ce cours Exercices de renforcement disponibles pour ce cours Quiz disponible pour ce cours

Page 1: Qu'est ce que PHP?

Toutes les pages

Un peu d'histoire

En 1994, et suite à un projet personnel, Rasmus Lerdorf a créé le langage PHP qui désignait à l'époque Personnal Home Page. Ce projet a été animé par son besoin de mettre à jour son CV en ligne au lieux de modifier le code source et réhéberger la page à chaque fois. En 1997 Zeev Suraski et Andi Gutmans ont entamé des travaux d'amélioration du langage PHP. La première version officielle est alors nommée PHP3 dont l'acronyme récursif désigne désormais PHP Hypertext Preprocessor. Peu de temps après, ils ont développé le moteur Zend Engine suite auquel, la version 4 de PHP est née. En 2004, PHP5 a été créé. Il s'agit d'une version du langage qui supporte la Programmation Orientée Objet (POO) d'une manière très avancée. C'est cette version qui est actuellement utilisée par la plupart des développeurs PHP. Le successeur de PHP5 est PHP7 qui est finalisé en décembre 2015 au dépend de PHP6 qui n'a pas été officialisé.

PHP est inspiré principalement de trois langages de programmation, à savoir le langage C, Perl et Java (dont le model objet a servi de base pour développer PHP5).

Depuis ses débuts, PHP intéresse de plus en plus de développeurs et est utilisé pour la création de millions de sites Web dynamiques présents sur la toile.

Un site dynamique c'est quoi?

En général, on peut regrouper les sites Web en deux catégories: les sites statiques et les sites dynamiques. Un site statique renferme un contenu figé qui ne change pas automatiquement et qui reste le même tant que le Webmaster n'est pas intervenu pour le modifier manuellement.

Les sites dynamiques, quant-à eux, sont des sites Web dont le contenu change d'une manière autonome. Celui ci peut changer en fonction de la date, le navigateur utilisé par le client, la position géographique de celui-ci, les privilèges attribués à chaque utilisateur suite à une authentification par exemple, l'historique de navigation etc...

Les sites dynamiques reposent sur des langages dits CGI (pour Common Gateway Interface) dont PHP fait parti.

Particularités de PHP

PHP est un langage de programmation coté serveur. Inversement au Javascript qui s’exécute sur le client (navigateur), PHP s’exécute entièrement sur le serveur qui héberge le site Web. Bien que son exécution est moins rapide que celle de Javascript en raison du temps que prend la requête pour parvenir au serveur et la réponse pour arriver jusqu'au navigateur, PHP dispose de plusieurs atouts que je vais résumer dans les points suivants:
  • Code source confidentiel: Puisque PHP est un langage CGI qui s'execute sur le serveur, alors son code source n'est jamais visible par le client, ce qui permet de manipuler des données confidentielles.
  • Open source: PHP est un langage de programmation libre de droit.
  • Multi-plateform: PHP s’exécute sur des serveurs d'applications que l'on peut installer sur de nombreux systèmes d'exploitation (Unix/Linux, Windows, Mac OS, BSD...)
  • Syntaxe simple et intuitive: Les personnes ayant déjà programmé en C ou en Javascript trouvent PHP facile à manipuler.
  • Interfaçage simple avec les bases de données: Bien que PHP est souvent associé au SGBD MySQL, il peut cependant interagir avec presque tous les SGDB connus, d'autant plus à l'aide de l'interface PDO.
  • Richesse fonctionnelle: PHP prend en charge de nombreuses bibliothèques qui permettent de réussir des traitements de nature différente comme la manipulation du DOM, la programmation réseau ou le traitement d'images...
  • Modes d’exécution diversifiés: PHP peut s’exécuter en mode CGI qui est le plus courant ou le mode CLI qui utilise la ligne de commande comme les script Shell.
  • Supports disponibles: La documentation de PHP est très abondante et diversifiée surtout grâce aux posts de la très large communauté qui s'est formée autour de lui. Cependant le support PHP officiel est disponible sur le site www.php.net. Si vous cherchez des informations concernant une fonction, il suffit de taper son nom après l'URL. Par exemple, pour obtenir des informations sur la fonction echo de PHP, il suffit de saisir l'URL suivante: www.php.net/echo.
  • Frameworks diversifiées: De nombreux frameworks sont mis à disposition des développeurs qui préfèrent ces outils. La plupart d'entre eux supportent l'architecture MVC, mais les plus célèbres restent Zend Framework, Symfony, CodeIgniter, Laravel...

Objectif de ce cours

L'objectif de ce cours est d'apprendre à coder en PHP pour pouvoir réussir des sites Web dynamiques ou des applications Intranet ou Extranet. Pour que le cours soit consistant je préfère commencer par vous montrer comment programmer en PHP dans son aspect procédural (ou programmation fonctionnelle) qui constitue la base. Un cours de Programmation Orientée Objet en PHP sera détaillé à part.

Prérequis

Pour être à l'aise avec PHP, il est fortement recommandé d'être initié en programmation. Si vous faites déjà de la programmation et vous avez eu l'occasion de manipuler des langages comme C ou Javascript, il vous sera facile de suivre le cours de PHP. Par contre si vous ne disposez pas des bases de la programmation et d'algorithmique. Mieux vaut commencer par là.

Des connaissances en HTML sont également requises. Si ce n'est pas le cas, veuillez consulter le cours de HTML.