Vous cherchez à en savoir plus sur PHP ? Son historique, ses spécificités, comment l’apprendre ?
Suivez le guide !
Introduction au PHP
Qu’est-ce que PHP ?
PHP, pour commencer, est un acronyme signifiant Hypertext Preprocessor. Pour être plus technique, c’est un langage orienté backend – c’est-à-dire utilisé côté serveur.
Utilisé dans 78,4% des sites web incluant du back-end, ce langage est donc le plus utilisé pour ce type de développement. Bien que cette statistique soit un peu biaisée – car PHP est le langage utilisé dans la plupart des CMS et sites e-commerce (WordPress, PrestaShop, etc.).
Historique
Ce langage a été créé en 1994 par Rasmus LERDORF. Depuis, les versions s’enchaînent à un rythme régulier et apportent des améliorations non négligeables à chaque itération.
La version 7.0 sortie en 2015, par exemple, apporte un gain substantiel en performances (jusqu’à deux fois plus rapide que PHP 5.6 – la version 6 n’étant jamais sortie pour cause de divergences de choix au niveau des fonctionnalités qu’elle devait contenir).
La version 8.0, elle, est sortie en novembre 2020 et apporte notamment une fonctionnalité de compilation à la volée.
Ses cas d’utilisation
Comme on l’a dit, PHP est un langage de script utilisé côté serveur. Plus concrètement, ça veut dire qu’il n’est pas interprété par un navigateur web, contrairement aux technos front end (HTML, CSS et JavaScript), mais qu’il est hébergé et exécuté sur un serveur.
Le code est donc appelé par le navigateur (par exemple, lors de la soumission d’un formulaire depuis du code HTML/JavaScript), il exécute ensuite des fonctions métier (traitement des données, communication avec une base de données, etc.) puis retourne au front-end (au navigateur, donc) une réponse, voire une page web complète.
Concrètement, ce fonctionnement peut être illustré par le schéma suivant :
Ce code peut être soit écrit par un développeur backend, soit être déjà présent dans le système et exécuté automatiquement. C’est par exemple le cas avec des CMS (Système de Gestion de Contenu) tels que WordPress, grâce auxquels on n’a pas besoin – en principe – de savoir coder pour que du PHP s’exécute sur un serveur et qu’une page web s’affiche correctement.
Mais ce n’est pas tout, il existe d’autres cas d’utilisations pour lesquels PHP est adapté, notamment :
- La gestion de cookies ;
- La génération de PDF ;
- L’envoi d’emails ;
- La manipulation de fichiers.
On le voit, ce langage possède donc un grand éventail d’utilisations possibles, et c’est aussi ce qui fait son succès.
Les caractéristiques de PHP
Maintenant qu’on en connait un peu plus ce langage script, voyons plus en profondeur quelles sont ses caractéristiques techniques.
Car PHP est un langage spécifique, qui, comme les autres, a ses propres spécificités.
Ses fonctionnalités et sa syntaxe
PHP appartient à la famille des descendants du langage C. Sa syntaxe est donc relativement proche de ce dernier.
Autre spécificité, il est bon de savoir que des morceaux de code PHP peuvent directement être inclus dans un fichier HTML.
Ce langage est notamment apprécié car il possède nativement un grand nombre de fonctions intégrées. Elles permettent notamment des opérations sur le système de fichier (lecture, écriture, etc.), de faire du hachage, du tri, gérer la sécurité du serveur, de communiquer avec une base de données, etc. Ce qui offre la possibilité de faire des actions concrètes sans avoir à écrire beaucoup de lignes de code.
Exemples par code
Si on doit donner quelques caractéristiques propres à PHP, on peut déjà en voir plusieurs rien qu’avec un exemple de Hello World :
Par exemple, on voit sur ces quelques lignes qu’un code PHP doit être inséré entre les balises <?php
et ?>
pour pouvoir être exécuté (bien que la balise de fermeture en fin de fichier soit facultative en pratique).
On remarque également que pour renvoyer du texte, on utilise le mot-clé echo
.
Une autre caractéristique de ce langage, c’est l’utilisation de la POO (programmation orientée objet).
Voici un exemple de code utilisant la POO en PHP :
On remarque dans cet exemple d’autres mots-clés, qui ne sont pas propres à langage back-end :
class
, pour la déclaration de classe ;function
, qui concerne la déclaration de fonction (à laquelle on peut passer des paramètres) ;const
, pour une constante.
À travers cet exemple, on remarque aussi que PHP utilise le signe $
pour déclarer une variable, ce qui est une particularité de ce langage (tout comme le ‘echo’, qui n’est pas courant dans le monde de la programmation). À noter aussi que les variables, comme en JavaScript, n’ont pas de type.
Bien sûr, PHP garde la même logique et syntaxe que la plupart des langages : array
pour déclarer un tableau, utilisation du if
et du else
pour une condition, le for
ou le while
pour une boucle, etc.
D’un point de vue global, la programmation orientée object avec PHP reste donc classique.
Pour connaître toutes les caractéristiques propres à PHP, je vous invite à vous rendre sur la documentation officielle.
Pourquoi utiliser PHP ?
On n’en a pas encore parlé, mais il existe d’autres technos permettant de faire du backend, principalement :
- Python ;
- Node.js ;
- Java ;
- Ruby on Rails.
Dans ce cas, pourquoi choisir PHP plutôt qu’une autre technologie ?
Il y a plusieurs raisons qui peuvent nous pousser dans cette direction. En voici quelques-unes :
- On l’a dit, c’est le langage script serveur le plus utilisé ;
- Il permet de travailler à la fois sur des projets from scratch comme sur des sites WordPress ;
- C’est un langage qui évolue régulièrement, en apportant de nouvelles fonctionnalités ;
- Il possède beaucoup de fonctions natives, permettant ainsi un développement rapide.
Mais, évidemment, le choix d’une techno orientée serveur est subjectif, cela dépend des langages que vous connaissez déjà et de la stack technique que vous voulez donner à votre projet web.
Les technos qui gravitent autour de PHP
On ne l’a pas encore mentionné, mais les développeurs spécialistes de cette techno back l’utilisent la plupart du temps via des frameworks. Et, évidemment, qui dit développement backend dit également base de données, et donc SGBD.
Les frameworks PHP
Un framework, c’est un ensemble de briques permettant un développement plus rapide, sûr, facilitant la pérennité du code et le travail d’une même équipe sur un projet.
Par exemple, on peut compter parmi ces briques des librairies ajoutant facilement des couches de sécurité à votre backend (PHP étant un langage serveur et communiquant avec des base de données, la sécurité doit être une des priorités), ou d’autres facilitant la les requêtes serveur (GET, POST, etc.).
Parmi les frameworks PHP les plus utilisés, on peut citer :
- Symfony ;
- Laravel ;
- Zend.
L’utilisation avec un SGBD
Il est rare d’avoir un back end sans utiliser de SGBD (système de gestion de base de données). Et, on l’a déjà vu, PHP implémente nativement des fonctions permettant une communication avec des base de données.
Il s’utilise notamment beaucoup avec les bases dites relationnelles (opposées aux technologies NoSQL), comme MySQL ou Oracle.
Par exemple, WordPress, CMS utilisant PHP, utilise la base relationnelle MySQL pour stocker ses données.
Pourquoi et comment apprendre PHP ?
On l’a vu, PHP est le langage serveur le plus utilisé. Ce qui fait de lui, lorsqu’on est débutant dans le développement web, le langage parfait pour l’apprentissage du développement côté back-end.
De plus, si vous comptez vous spécialiser dans le développement de CMS et de sites e-commerce, PHP est évidemment le langage web qu’il faut connaître, au même titre que MySQL, HTML et JavaScript.
C’est également un bon choix pour tout développeur souhaitant devenir freelance. En effet, la demande en développeurs PHP, surtout ceux maitrisant un framework comme Symfony ou Laravel, est toujours croissante.
Comment l’apprendre ?
La majorité des cursus universitaires avec un parcours spécialisé en développement web offre des cours de ce langage. Néanmoins, si vous voulez l’apprendre par vous-même, il existe des formations en ligne, par exemple celle d’OpenClassrooms. Elle a l’avantage d’inclure dans des cours sur MySQL par la même occasion.
Il existe également des tutoriels sur Youtube, en anglais ou en français, pour l’apprentissage en solo !
PHP étant assez complexe (surtout lorsqu’on commence à se plonger dans les frameworks et SGBD), il est donc important, particulièrement si on est néophyte, d’y aller étape par étape.
Quel avenir pour PHP ?
Malgré une forte concurrence, et qui prend de plus en plus d’importance dans l’environnement du développement web, le langage PHP a de beaux jours devant lui. Déjà, avec ses 80% d’utilisation parmi les sites web utilisant du backend, il est langage serveur le plus utilisé. C’est donc une valeur sûre.
Ce maintien en bonne position est aussi assuré par les nouvelles versions qui sont régulièrement dévoilées et qui apportent des fonctionnalités bienvenues, appréciées des développeurs.
Bref, PHP n’est pas prêt de laisser sa place !