Outils pour utilisateurs

Outils du site


clubinfo:php

Ceci est une ancienne révision du document !


PHP : Hypertext Preprocessor

PHP est un langage de programmation interprété développé dès 1995 par Rasmus Lerdorf. Son succès tient à son efficacité pour créer des sites web dynamiques.

En effet, contrairement aux pages HTML statiques (dont le contenu est fixé par le développeur du site), il permet d'écrire des pages dynamiques personnalisées en fonction des interactions avec l'utilisateur. Il a permis de créer un grand nombre de sites web célèbres, comme Facebook et Wikipédia.

Contrairement au HTML et au CSS, il n'est pas directement exploitable par les navigateurs et nécessite qu'un serveur génère le code HTML à la demande. Nous allons donc, pour le tester, utiliser un serveur web utilisable à partir d'une clé USB qui le supporte, ce sera Zazou Mini Web Server (ZMWS)

Logo PHP Aujourd'hui la référence est PHP7 mais ZMWS ne supporte que PHP5.1.2

Connaissances de base

Les fichiers PHP

  • Les instructions PHP peuvent être placées entre des instructions HTML et rendre dynamique qu'une partie de la page web.
  • Elles sont placées entre les balises “<?php” (ouvrante) et “?>” (fermante). Chaque instruction PHP doit se terminer par le symbole ';'.
  • Une liste d'instruction liées ensembles se place entre accolades '{ instruction 1; instruction 2 ; }'. On passe généralement à la ligne entre chaque instruction et on se décale (indentation) à l'intérieur des accolades.
  • Des commentaires peuvent être utilisées pour expliquer ce que font les instructions. Ils débutent par les symboles // et se terminent à la fin de la ligne ou comprennent plusieurs lignes placées entre /* … */.
  • Pour être interprété, un fichier contenant des instructions PHP doit avoir une extension “.php” (index.php, page1.php …) et être placé sur un serveur compatible.
  • Les fichiers PHP peuvent sur le serveur être mélangés aux fichiers HTML et CSS. Le serveur les interprétera et remplacera les instructions PHP par du code HTML avant d'envoyer le contenu au navigateur.
ma_page.php
<?php
  instruction1; // Ceci est une instruction
  instruction2;
  bloc_instruction3 { // Ceci est le début d'un bloc d'instruction
    instruction31;
    instruction32;
    ...
  }
  instruction4;
  ...
?>

Les variables

Elles permettent de stocker des informations ou des listes d'informations utiles.

  • En PHP, le nom des variables commence par le signe $. Une variable peut contenir n'importe quel type de donnée.
  • Un tableau est une variable permettant d'en gérer plusieurs autres (placées entre crochets) en une seule fois. Il permet de générer des listes de choses définies par plusieurs informations (liste de personnes, d'objets de données …).
  • Le symbole d'affectation est = (donner un contenu à une variable)
  • On peut faire les opérations de base (addition, soustraction, multiplication et division) avec les symboles +, -, * et / .
  • Des opérateurs spéciaux : (++ ou –) permettent d'incrémenter (+1) ou décrémenter (-1) une variable, (+= -= *= /=) permettent de modifier le la variable concernée. Ils permettent une écriture plus concise.
  • La concaténation (addition) de 2 textes est possible avec le symbole “.”.
// Variables
$nom = "Dupond"; 
$age = 14;
// Tableau (liste de variables
$identite[0]["nom"] = "Durand"; 
$identite[0]["age"] = 16;
$identite[1]["nom"] = "Martin"; 
$identite[1]["age"] = 13;
// Calculs
$différence_age = $identite[0]["age"] - $identite[1]["age"];
$age++; // L'age est augmenté de 1 ans
$age *= 2; // L'age est multiplié par 2

Les boucles

Pour répéter des instructions plusieurs fois ou sur une liste.

Il existe plusieurs types de boucles :

  • Boucles conditionnelles : while (condition) instructions; (instructions seulement si la condition est vraie) ou do instructions while (condition); (instructions au moins une fois puis tant que la condition est vraie)
  • Boucles bornées : for (début; fin; progression) instructions; (de la valeur de la variable de début à la condition de fin en étape fixées par la progression)
  • Boucles itératives : foreach (liste as variable) instructions; (chaque valeur de la liste devient variable et est traité par les instructions)
  // Répéter tant-que la condition est vraie (compteur de 0 à 9)
  $x = 0;
  while ($x < 10) echo $x++;
 
  // Répéter un certain nombre de fois (exemple compteur de 5 à 25 par nombre impair)
  for ($x = 5; $x <= 25; $x += 2) echo $x;
 
  // Répéter pour toutes les personnes (augmenter l'age d'un an)
  foreach ($identite as $personne) $personne["age"] = $personne["age"] + 1; 

Les choix

Pour décider le traitement à effectuer en fonction d'un contenu de variable.

  • Un choix ne peut avoir que 2 résultats (vrai/faux) if (condition) instructions-si-vrai; else instructions si faux;.
  • La partie “else” n'est pas obligatoire. Plusieurs choix peuvent se succéder avec else if.
  • Les opérateurs de comparaison pour les conditions sont : égal ==, différent !=, inférieur <, supérieur >. On peut ajouter un signe égal à inférieur et supérieur ⇐ et >=
  • L'instruction switch (variable) case valeur: instructions; est une autre façon d'enchaîner des choix (variable = valeur du case).
// if else
  if ($sexe == "M") echo "Masculin"; 
  else if ($sexe == "F") echo "Féminin"; 
  else echo "Indéterminé";
 
// switch case
  switch ($sexe) {
    case "M": echo "Masculin"; break;
    case "F": echo "Féminin"; break;
    default: echo "Indéterminé"; 
  }

Les fonctions

Il existe un très grand nombre de fonctions (voir la référence du langage). Il est possible pour l'utilisateur de créer ses propres fonctions.

  • Une fonction a un nom et il est suivi de parenthèse.
  • Il est possible de passer des paramètre à une fonction en les mettant séparé par des virgules dans les parenthèses.
  • Une fonction peut renvoyer un résultat.
<?php
  // Ceci est une fonction créée par le programmeur
  // Additionner 2 nombres a et b
  function mon_addition (a, b) {
    echo "Calcul de a + b <br/>";
    $x = $a + $b;
    return $x;
  }
 
  // Ceci est le programme qui utilise la fonction
  $a = 2; echo "a = " . $a . "<br/>";
  $b = 5; echo "b = " . $b . "<br/>";
  $c = mon_addition ($a, $b);
  echo "Le résultat est " . $c . "<br/>":
 ?>

L'affichage des résultats

Pour afficher un texte ou des résultats dans le navigateur, il faut les transformer en HTML :

  • echo résultat; (L'instruction peut mélanger du texte et des variables avec le symbole de concaténation .)
  • printf(“chaîne de format”, résultat); (printf est une fonction)
code.php
  echo "Votre age est " . $age . " ans."; // Pour écrire à l'écran l'age et passer sur la ligne suivante
  printf ("L'age de %s est %d ans.", $nom, $age); // La même chose mais en plus puissant (%s = texte %d = nombre ...)

Les sorties PHP ne différencient pas les espaces, tabulations (indentation) et saut de ligne. Pour générer un code HTML lisible on peut insérer des caractères spéciaux (\t pour l'indentation et \n pour le saut de ligne).

Le code : foreach ($identite as $individu) printf (“L'age de %s est %d ans.”, $individu[“nom”], $individu[“$age”]); donne le résultat suivant : L'age de Durand est 16 ans.L'age de Dupond est 13 ans. (sur une seule ligne)

Le code : foreach ($identite as $individu) printf (“L'age de %s est %d ans.\n”, $individu[“nom”], $individu[“$age”]); donne le résultat suivant :
L'age de Durand est 16 ans.
L'age de Martin est 13 ans. (sur 2 ligne)

  • Si besoin, ne pas oublier de mettre dans les sorties PHP les balises HTML utiles.
  • Ne pas confondre les caractères spéciaux (\t et \n) pour générer du code HTML lisible par l'utilisateur et les balises <p></p> et <br/> pour les passages à la ligne gérés par le navigateur.

Compléments

Référence

Activité

  • Premiere_page_avec_PHP : Génération automatique du sommaire des ponts
  • Ajout d'un nouveau pont en base de donnée (nécessite de connaître le SQL)
  • Affichage d'un pont en base de donnée (nécessite de connaître le SQL)
clubinfo/php.1723966762.txt.gz · Dernière modification: 2024/08/18 09:39 de mrcjl