Variables/fonctions/boucles
Notions théoriques
Bienvenue dans ce cours de programmation orientée objet en PHP.
Avant de plonger dans le vif du sujet, il est important de réviser les bases de PHP en mode procédural. Cela vous permettra de mieux comprendre les concepts que nous aborderons plus tard.
PHP est un langage de script côté serveur qui est principalement utilisé pour le développement Web. En PHP, nous pouvons déclarer des variables, des fonctions, utiliser des boucles et des conditions, et bien plus encore.
-
Une variable en PHP est déclarée avec le signe
$
.Par exemple,
$name = "John";
déclare une variable nommée
name
et lui affecte la valeur "John". -
Une fonction en PHP est déclarée avec le mot-clé
function
, suivi du nom de la fonction et des parenthèses.Par exemple,
function greet() { print("Hello, world!"); }
déclare une fonction nommée
greet
qui affiche "Hello, world!" quand elle est appelée.
Les boucles et les conditions en PHP fonctionnent de manière similaire à d'autres langages de programmation.
Par exemple :
- La boucle
for
est déclarée avec le mot-cléfor
, suivi de trois expressions entre parenthèses. - La condition
if
est déclarée avec le mot-cléif
, suivi d'une expression entre parenthèses.
Exemple pratique
<?php
// Déclaration d'une variable
$name = "John";
// Déclaration d'une fonction
function greet($firstname) {
print("Hello, " . $firstname . "!");
}
// Appel de la fonction
greet($name);
// Boucle for
for ($i = 0; $i < 5; $i++) {
print($i);
}
// Condition if
if ($name == "John") {
print("Your name is John.");
} else {
print("Your name is not John.");
}
?>
Test de mémorisation/compréhension
Mise en pratique
Le jeu du nombre mystère
- Dans votre répertoire "Documents" créez le répertoire
tp_nombre_mystere
. - Dans ce répertoire créez le fichier
main.php
:<?php
// Jeu du nombre mystère
print("Démarrage du jeu \n\n"); - Testez le fonctionnement de ce fichier :
php main.php
L'objectif du jeu consiste à deviner un nombre entre 1 et 100, qui est défini au hasard par le programme.
Étape 1 : Générer un nombre mystère
Tout d'abord, nous allons générer un nombre mystère aléatoire entre 1 et 100. Pour cela, nous allons utiliser la fonction rand()
de PHP https://www.php.net/manual/fr/function.rand.php.
Corrigé de l'étape 1
// Génère un nombre mystère aléatoire entre 1 et 100
$mysteryNumber = rand(1, 100);
Étape 2 : Demander à l'utilisateur de deviner le nombre
Maintenant, nous allons demander à l'utilisateur de deviner le nombre mystère. Pour cela, nous allons utiliser la fonction readline()
de PHP qui permet de lire une ligne de l'entrée standard https://www.php.net/manual/fr/function.readline.php.
Corrigé de l'étape 2
// Demande à l'utilisateur de deviner le nombre
$userGuess = readline("Devinez le nombre mystère (entre 1 et 100) : ");
Étape 3 : Vérifier si l'utilisateur a deviné le nombre
Ensuite, nous allons vérifier si l'utilisateur a deviné le nombre mystère. Si l'utilisateur a deviné le nombre, affichez un message de félicitations. Sinon, indiquez si le nombre mystère est plus grand ou plus petit que le nombre saisi par l'utilisateur.
Corrigé de l'étape 3
// Vérifie si l'utilisateur a deviné le nombre
if ($userGuess == $mysteryNumber) {
print("Félicitations, vous avez deviné le nombre mystère !");
} elseif ($userGuess > $mysteryNumber) {
print("Le nombre mystère est plus petit.");
} else {
print("Le nombre mystère est plus grand.");
}
Étape 4 : Ajouter une boucle pour permettre à l'utilisateur de continuer à deviner
Enfin, nous allons ajouter une boucle do-while
pour permettre à l'utilisateur de continuer à deviner le nombre mystère tant qu'il ne l'a pas trouvé. La boucle doit se répéter tant que la valeur entrée par l'utilisateur n'est pas égale au nombre mystère.
Corrig é de l'étape 4
<?php
// Jeu du nombre mystère
print("Démarrage du jeu \n\n");
// Génère un nombre mystère aléatoire entre 1 et 100
$mysteryNumber = rand(1, 100);
do {
// Demande à l'utilisateur de deviner le nombre
$userGuess = readline("Devinez le nombre mystère (entre 1 et 100) : ");
// Vérifie si l'utilisateur a deviné le nombre
if ($userGuess == $mysteryNumber) {
print("Félicitations, vous avez deviné le nombre mystère !\n\n");
} elseif ($userGuess > $mysteryNumber) {
print("Le nombre mystère est plus petit.\n");
} else {
print("Le nombre mystère est plus grand.\n");
}
} while ($userGuess != $mysteryNumber);
Étape 5 : Ajouter une indication sur le nombre de tentatives
Enfin, nous allons ajouter une variable ($i) pour afficher, en fin de jeu, le nombre de tentatives pour deviner le nombre mystère.
Corrigé de l'étape 5
<?php
// Jeu du nombre mystère
print("Démarrage du jeu \n\n");
// Génère un nombre mystère aléatoire entre 1 et 100
$mysteryNumber = rand(1, 100);
$i=0;
do {
// Demande à l'utilisateur de deviner le nombre
$userGuess = readline("Devinez le nombre mystère (entre 1 et 100) : ");
$i++;
// Vérifie si l'utilisateur a deviné le nombre
if ($userGuess == $mysteryNumber) {
print("Félicitations, vous avez deviné le nombre mystère en $i tentative(s) !\n\n");
} elseif ($userGuess > $mysteryNumber) {
print("Le nombre mystère est plus petit.\n");
} else {
print("Le nombre mystère est plus grand.\n");
}
} while ($userGuess != $mysteryNumber);
TP pour réfléchir et résoudre des problèmes
Création d'un convertisseur de température
- Dans votre répertoire "Documents" créez le répertoire
tp_convertisseur_temperature
. - Dans ce répertoire créez le fichier
main.php
:<?php
// Convertisseur de température
print("Démarrage du convertisseur \n\n"); - Testez le fonctionnement de ce fichier :
php main.php
L'objectif de ce TP est de créer un convertisseur de température qui permet de convertir une température de Celsius en Fahrenheit et vice versa.
Étape 1 : Demander à l'utilisateur la température et l'unité
Tout d'abord, demandez à l'utilisateur :
- d'entrer une température
- d'entrer l'unité (C pour Celsius et F pour Fahrenheit).
Utilisez la fonction readline()
pour lire ces valeurs.
Étape 2 : Créer 2 fonctions pour convertir la température
Ensuite, créez deux fonctions : celsiusToFahrenheit()
et fahrenheitToCelsius()
.
Ces fonctions doivent prendre une température en paramètre et retourner la température convertie.
Pour convertir une température de Celsius en Fahrenheit, vous pouvez suivre ces étapes :
- Prenez votre température en degrés Celsius.
- Multipliez cette température par 9.
- Divisez le résultat par 5.
- Ajoutez 32 au résultat.
Cela vous donnera la température en degrés Fahrenheit.
Pour convertir une température de Fahrenheit en Celsius, vous pouvez suivre ces étapes :
- Prenez votre température en degrés Fahrenheit.
- Soustrayez 32 de cette température.
- Multipliez le résultat par 5.
- Divisez le résultat par 9.
Cela vous donnera la température en degrés Celsius.
Étape 3 : Utiliser les fonctions pour convertir la température
Enfin, utilisez une instruction if
pour déterminer quelle fonction utiliser en fonction de l'unité entrée par l'utilisateur (C pour Celsius et F pour Fahrenheit).
Affichez ensuite la température convertie.
Étape 4 : Testez le fonctionnement de ce programme
php main.php
Une solution
Vous devez être connecté pour voir le contenu.