var_dump() pour le débogagerandom_int() pour générer des nombres aléatoiresUne fonction est un bloc de code réutilisable qui effectue une tâche spécifique. Elle permet d'éviter la duplication de code.
<?php
function writeMsg() {
echo "Hello girls and boys!<br>";
echo "How are you?";
}
// Appel de la fonction
writeMsg();
?>
<?php
function userProfile($firstName, $lastName, $country) {
echo "$firstName $lastName habite en $country.<br>";
}
// Appels de la fonction
userProfile("Jean", "Dupont", "France");
userProfile("Phil", "Kaizen", "Allemagne");
userProfile("Gianni", "Giardino", "Italie");
?>
<?php
function multiplication($operande1 = 5, $operande2 = 10) {
$resultat = $operande1 * $operande2;
echo "$operande1 * $operande2 = $resultat<br>";
}
// Différents appels
multiplication(3, 4); // Affiche : 3 * 4 = 12
multiplication(7); // Affiche : 7 * 10 = 70 (utilise la valeur par défaut pour $operande2)
multiplication(); // Affiche : 5 * 10 = 50 (utilise les deux valeurs par défaut)
?>
// âś… Correct
function test($a, $b = 5, $c = 10) { }
// ❌ Incorrect
function test($a = 5, $b, $c = 10) { } // Erreur !
<?php
function addition($operande1, $operande2) {
$resultat = $operande1 + $operande2;
return $resultat; // Retourne le résultat
}
$somme = addition(5, 6);
echo "La somme est : $somme"; // Affiche : La somme est : 11
?>
Une exception est un objet qui décrit une erreur ou un comportement inattendu. Elle permet de gérer proprement les erreurs au lieu de laisser le script planter.
<?php
try {
// Code qui peut générer une erreur
$resultat = 10 / 0; // Division par zéro
} catch (Exception $e) {
// Code exécuté si une exception est levée
echo "Erreur : " . $e->getMessage();
}
?>
<?php
function division($dividende, $diviseur) {
try {
if ($diviseur == 0) {
throw new Exception("Division par zéro");
}
$resultat = $dividende / $diviseur;
echo "$dividende / $diviseur = $resultat<br>";
} catch (Exception $e) {
echo "Impossible de diviser par zéro.<br>";
}
}
division(10, 2); // Affiche : 10 / 2 = 5
division(10, 0); // Affiche : Impossible de diviser par zéro.
?>
| Méthode | Description | Exemple de résultat |
|---|---|---|
getMessage() |
Récupère le message d'erreur | "Division par zéro" |
getCode() |
Récupère le code d'erreur | 0 (par défaut) |
getFile() |
Récupère le nom du fichier | "/var/www/index.php" |
getLine() |
Récupère le numéro de ligne | 15 |
<?php
function division($dividende, $diviseur) {
try {
if ($diviseur == 0) {
throw new Exception("Division par zéro", 100);
}
$resultat = $dividende / $diviseur;
echo "$dividende / $diviseur = $resultat<br>";
} catch (Exception $e) {
echo "Erreur : " . $e->getMessage() . "<br>";
echo "Code : " . $e->getCode() . "<br>";
echo "Fichier : " . $e->getFile() . "<br>";
echo "Ligne : " . $e->getLine() . "<br>";
}
}
?>
Le bloc finally s'exécute toujours, qu'il y ait eu une exception ou non.
<?php
function division($dividende, $diviseur) {
try {
if ($diviseur == 0) {
throw new Exception("Division par zéro");
}
echo "$dividende / $diviseur = " . ($dividende / $diviseur) . "<br>";
} catch (Exception $e) {
echo "Impossible de diviser par zéro.<br>";
} finally {
echo "Fin de la division.<br>";
}
}
division(10, 2);
// Affiche : 10 / 2 = 5
// Fin de la division.
division(10, 0);
// Affiche : Impossible de diviser par zéro.
// Fin de la division.
?>
try : essaie d'exécuter le codecatch : attrape l'exception si elle est levéefinally : s'exécute dans tous les casvar_dump() affiche des informations détaillées sur une variable : son type, sa valeur, sa taille.
<?php
$nombre = 42;
$texte = "Bonjour";
$tableau = [1, 2, 3];
var_dump($nombre);
// Affiche : int(42)
var_dump($texte);
// Affiche : string(7) "Bonjour"
var_dump($tableau);
// Affiche : array(3) { [0]=>int(1) [1]=>int(2) [2]=>int(3) }
?>
int(42) → entier de valeur 42string(7) "Bonjour" → chaîne de 7 caractèresfloat(3.14) → nombre décimalbool(true) → booléen vraiNULL → valeur nullearray(3) { ... } → tableau de 3 élémentsvar_dump() est un outil de débogage temporaire. Ne le laissez pas dans le code de production !
<?php
$nombre = random_int($min, $max);
?>
<?php
$de = random_int(1, 6); // Nombre entre 1 et 6 inclus
echo "Vous avez tiré : $de<br>";
if ($de == 6) {
echo "Félicitations !";
}
?>
<?php
$tableau = [];
// Remplir le tableau avec 10 nombres entre 0 et 100
for ($i = 0; $i < 10; $i++) {
$tableau[] = random_int(0, 100);
}
// Afficher le tableau
var_dump($tableau);
?>
<?php
$tableau = [];
for ($i = 0; $i < 10; $i++) {
$tableau[] = random_int(0, 100);
}
// Initialisation
$min = $tableau[0];
$max = $tableau[0];
$somme = 0;
// Parcours du tableau
foreach ($tableau as $valeur) {
if ($valeur < $min) {
$min = $valeur;
}
if ($valeur > $max) {
$max = $valeur;
}
$somme += $valeur;
}
$moyenne = $somme / count($tableau);
echo "Min : $min<br>";
echo "Max : $max<br>";
echo "Moyenne : $moyenne<br>";
?>
min($tableau) : trouve le minimummax($tableau) : trouve le maximumarray_sum($tableau) : somme des éléments<?php
function nomDeLaFonction($param1, $param2 = valeurParDefaut) {
// Code de la fonction
return $resultat; // Optionnel
}
// Appel
$valeur = nomDeLaFonction($arg1, $arg2);
?>
<?php
try {
// Code qui peut échouer
if ($condition_erreur) {
throw new Exception("Message d'erreur");
}
// Code normal
} catch (Exception $e) {
// Gestion de l'erreur
echo $e->getMessage();
} finally {
// Code qui s'exécute toujours
echo "Nettoyage...";
}
?>
function nom($params) { }function test($a, $b = 5)return permet de renvoyer une valeurthrow new Exception("msg") lève une exceptiontry { } catch (Exception $e) { } gère les exceptionsfinally { } s'exécute toujours, avec ou sans erreur$e->getMessage(), getCode(), getFile(), getLine() : méthodes de l'exceptionvar_dump($var) affiche le type et la valeur d'une variablerandom_int($min, $max) génère un nombre aléatoire| Élément | Rôle | Exemple |
|---|---|---|
try |
Bloc de code Ă tester | try { division(); } |
throw |
Lever une exception | throw new Exception("Erreur"); |
catch |
Attraper l'exception | catch (Exception $e) { } |
finally |
Code toujours exécuté | finally { echo "Fin"; } |