PHP

Le langage PHP (PHP Hypertext Preprocessor, en français Préprocesseur Hypertexte PHP) est un langage de programmation « côté serveur » qui permet de créer des sites Web dynamiques, c'est à dire que les informations qui s'y trouvent peuvent être changées sans que le propriétaire du site ne touche aux fichiers de son site. Le fait qu'il soit côté serveur signifie que la page Web est créée par le serveur avant d'être envoyée au navigateur. Cela permet par exemple d'afficher du contenu personnalisé (selon l'utilisateur, la ville où il se trouve, l’heure qu’il est, etc.).
Par exemple, on peut avoir une simple page Web qui demande le prénom de l’utilisateur. Quand on valide, elle envoie le prénom au serveur qui va s’en servir pour fabriquer une autre page, personnalisée (elle pourra dire bonjour avec le prénom). Cette page de réponse est au départ écrite en PHP : le serveur met le prénom de l’utilisateur au bon endroit ; ce faisant, il transforme la page PHP en une page Web « normale » (en HTML). Il n’a plus qu’à la renvoyer au navigateur de l’utilisateur qui va l’afficher.
Il est souvent utilisé avec JavaScript, un langage de programmation côté client, permettant d'interagir avec le site Internet.
Hello World
Voilà le traditionnel Hello World.
<?php
echo "Hello World";
?>
Le mot-clef echo affiche le texte se trouvant à coté, entre guillemets
Exemple
Voici l'illustration de l'exemple de l'introduction :
Du côté de l’utilisateur, on a une page HTML qui demande le prénom avec un formulaire. Elle affiche la phrase « Votre prénom est : » suivie d’un champ où l’utilisateur peut écrire son prénom. Pour valider, il suffit de cliquer sur un bouton « Valider » situé après le champ de texte.
Du côté serveur, on a PHP qui traite les informations envoyées depuis le formulaire précédent. Ces informations (ici, le prénom) sont contenues dans une variable, qui est en fait un tableau nommé _POST. On utilise le mot-clé echo pour dire au serveur d'afficher un texte, ici « Bonjour, $_POST['prenom'] ! ». Si le prénom envoyé est « Jules », le serveur remplacera $_POST['prenom'] par Jules et créera donc une page Web où l’on pourra lire « Bonjour, Jules ! ».
Le code complet de la page PHP :
<?php
echo "Bonjour, ".$_POST['prenom']." !";
?>
Si ce code se situe dans une page web html, le fichier de la page HTML aura l'extension .php mais contiendra du HTML et son code ressemblera à ça :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
</head>
<body>
<form method="POST">
<input type="text" name="prenom" placeholder="Entre ton prénom"/>
<input type="submit"/>
</form>
<p>
<?php
echo "Bonjour, ".$_POST['prenom']." !";
?>
</p>
</body>
</html>
Comme on peut le voir ci-dessus, on délimite du code PHP par les balises <?php et ?> ou par <? et ?>. Par contre, tout autre code en dehors de ces balises ne sera pas traité par PHP et ne changera (à priori) jamais.
Notons que dans une page html, le code PHP peut s'insérer n'importe où.
Mode shell
Ce mode PHP sert à développer en dehors du web, ajoutant des fonctionnalités utiles. Ce mode peut servir à faire des applications etc. Ce mode n'aborde pas les balises HTML. Voici un exemple qui demande le nom, prénom et l'âge de quelqu'un :
<?php
echo "Entrez votre nom : \n";
fscanf(STDIN, "%s", nom);
echo "Maintenant, entrez votre prénom : \n";
fscanf(STDIN, "%s", prenom);
echo "Pour finir, l'âge : \n ";
fscanf(STDIN, "%d", age);
fputs(STDOUT, "Bonjours $nom $prenom, vous avez $age");
?>
Avec la Programmation Orientée Objet (acronyme de POO)
Le PHP est un langage hybride, c'est à dire à la fois procédural et objet. La version procédurale est disponible sur toutes les versions PHP. Quant à la POO, elle a été développée depuis peu, néanmoins, elle est plus accessible sur PHP 5 : elle ajoute plus facilement des fonctionnalités objets, notamment le chargement dynamique d'une classe. Le langage objet aborde d'autres notions tels que la classe, l'objet, l'héritage ou le polymorphisme. Voici un exemple :
<?php
// Déclaration d'une classe langage
class Informatique
{
// Propriétés
private $nom = " "; // Variable privée (encapsulation) contenant le nom du langage
public $type = "programmation"; // Variable publique contenant le type des langages (de programmation)
// Méthode avec tentative de modification de la variable privée (avec set)
public function setNom()
{
echo "Entrez le nom d'un langage de programmation (PHP, C ou Python) : ";
fscanf(STDIN, "%s", Nom); // Le lecteur doit entrer un de ces langages
}
// Méthode avec tentative de lecture de la variable privée (get) ayant pour but d'afficher le "Hello World" approprié
public function getAffiche_hello_world()
{
if ($nom == PHP)
{
echo "\n";
echo "Avec $this->nom : echo \"Hello World\";";
}
else if ($nom == C)
{
echo "\n";
echo "Avec $this->nom : printf(\"Hello World\");";
}
else if ($nom == Python)
{
echo "\n";
echo "Avec $this->nom : print(\"Hello World\")";
}
else
{
echo "\n";
echo "Erreur";
}
// Remarque : \n signifie un retour à la ligne.
}
}
// Programme
$langage_informatique = new Informatique();
// Création de l'objet "langage_informatique", l'objet est alors une instance de la classe "Informatique".
$langage->setNom();
// Utilisation de la méthode "setNom()".
$langage->getAffiche_hello_world();
// Utilisation de la méthode "getAffiche_hello_world".
?>
Explication des notions de base
En POO, nous abordons des bases extrêmement importantes : la classe, les propriétés, les méthodes et les objets. Avec ces bases, on peut avancer vers l'héritage, get et set, la surcharge, la référence, les ::, le clonage, les classes abstraites (ainsi que les méthodes), les interfaces, les exceptions, les traits, les classes finales et bien sûr d'autres notions avancés.
La classe
La classe est le modèle d'un objet (et la description). Elle contient des propriétés pour leur usage dans les méthodes.
Les propriétés
Les propriétés sont des constantes, variables que la classe possède. Les propriétés sont de 5 grands types :
- Publiques : La propriété est accessible via n'importe où
- Protégés : La propriété est accessible avec l'héritage
- Privés : La propriété est non accessible, c'est la notion. Sa lecture ou sa modification est accessible via GET et SET.
- Constantes : Celle-ci ne peuvent point changer. Sa récupération se fait via ::
- Statiques (obligatoirement avec les autres type) : La propriété est statique, il n'y a pas besoin d'une instance
Les méthodes
Les méthodes contiennent les instructions à faire. Ce sont des fonctions. Les méthodes possèdent également des types, comme celles des propriétés, mais aussi d'autres, comme abstraction ou la méthode finales.
Les objets
Un objet est construit avec un modèle, la classe. Celle-ci décrit comment est l'objet. La construction se fait à partir de "new" :
$vikidia = new Site();
// Dans les paramètres, on pourrait insérer la valeur des propriétés.
Les bases de données
Les bases de données sont des interfaces qui servent à stocker des informations dans des tableaux afin de les mémoriser et pouvoir faire des choses avec ses informations. PHP sait très bien dialoguer avec la BDD (base de données), c'est pourquoi il est utilisé pour faire des requêtes SQL. Côté programmation, les bases de données sont gérées avec la POO, plus précisément les BDD abordent surtout les exceptions. Par contre, on accède aux BDD avec un langage spécifique : le SQL. Ce langage spécifique est utilisable aussi dans les autres langages.
Utilisation
PHP a de nombreuses utilités. Citons par exemple :
- faire des jeux en PHP ;
- faire des sites d'achat en ligne ;
- faire des tchats, des quiz, des livres d'or ;
- faire un espace membre sur un site ;
- et bien d'autres...
Voir aussi
![]() |
Les langages de l’informatique
|
