Skip to content

Commit 247e9ae

Browse files
authored
Add translations for new pages (ronreiter#706)
1 parent 7769689 commit 247e9ae

File tree

3 files changed

+212
-0
lines changed

3 files changed

+212
-0
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
Tutorial
2+
--------
3+
PHP a un modèle d'exceptions similaire à celui d'autres langages de programmation.
4+
Une exception peut être déclenchée (*throw*), et interceptée (*catch* / "attrapée") dans PHP.
5+
Le code peut être entouré par un bloc try ("essayer"), pour faciliter l'interception d'exceptions éventuelles.
6+
Chaque try doit avoir au moins un block catch ou finally (finalement).
7+
8+
try {
9+
echo 2 / 0;
10+
} catch (Exception $e) {
11+
echo "Exception interceptée: Division by zéro!";
12+
}
13+
14+
on peut utiliser plusieurs blocs catch to intercepter des classes d'exceptions différentes.
15+
L'exécution normale (lorsqu'aucune exception n'est déclenchée à l'intérieur du bloc try) continuera après
16+
ce dernier bloc catch défini dans cette série. Les exceptions peuvent être déclenchées (ou re-déclenchées) à l'intérieur d'un bloc catch.
17+
18+
if (4/2 == 2) {
19+
echo "Juste !";
20+
} else {
21+
throw new Exception("Réponse fausse !");
22+
}
23+
24+
Quand une exception est déclenchée, le code qui suit l'instruction ne sera pas exécuté,
25+
et PHP essaiera de trouver le premier bloc catch qui corresponde. Si une exception n'est pas interceptée,
26+
une erreur *Fatal Error* PHP surviendra avec un message "Uncaught Exception ..." (exception non attrapée),
27+
à moins qu'un gestionnaire n'ai été défini avec set_exception_handler().
28+
29+
## Blocks finally
30+
31+
À partir de PHP 5.5, un block finally peut aussi être défini après ou à la place des blocs catch.
32+
Le code à l'intérieur du bloc finally sera **toujours exécuté** après les blocs try et catch,
33+
indépendamment du fait qu'une exception ait été déclenchée, et avant que l'exécution normale ne reprenne.
34+
35+
try {
36+
echo 4/0;
37+
} catch (Exception $e) {
38+
echo "Division par zéro !";
39+
} finally {
40+
echo "Ceci sera affiché même quand l'exception survient !";
41+
}
42+
43+
44+
Exercise
45+
--------
46+
Utilisez un bloc try-catch-finally pour tout d'abord intercepter l'exception, et afficher `Exception attrapée !` et enfin afficher `Terminé !`.
47+
Votre affichage final devrait ressembler à :
48+
```
49+
Exception attrapée !
50+
Terminé !
51+
```
52+
53+
Tutorial Code
54+
-------------
55+
56+
<?php
57+
# Cette fonction déclenchera une exception !
58+
function throw_exception() {
59+
throw new Exception("Exception !");
60+
}
61+
62+
# Encadrez cette instruction par un bloc try-catch-finally !
63+
throw_exception();
64+
?>
65+
66+
67+
Expected Output
68+
---------------
69+
Exception attrapée !
70+
Terminé !
71+
72+
Solution
73+
--------
74+
<?php
75+
# Cette fonction déclenchera une exception !
76+
function throw_exception() {
77+
throw new Exception("Exception !");
78+
}
79+
80+
# Encadrez cette instruction par un bloc try-catch-finally !
81+
try {
82+
throw_exception();
83+
} catch (Exception $e) {
84+
echo "Exception attrapée !\n";
85+
} finally {
86+
echo "Terminé !";
87+
}
88+
?>
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
Tutorial
2+
--------
3+
4+
Continuons sur le thème des tableaux. Il existe un autre genre de tableaux - les tableaux multidimensionnels.
5+
Ce type de tableau peut contenir un autre tableau comme valeur pour un indice donné :
6+
7+
$multiArray = [
8+
[1, 2, 3],
9+
[4, 5, 6],
10+
[7, 8, 9],
11+
];
12+
13+
Ainsi, si on affiche la valeur pour l'indice `0`, ce sera un tableau :
14+
15+
print_r($multiArray[0])
16+
17+
// Array
18+
// (
19+
// [0] => 1
20+
// [1] => 2
21+
// [2] => 3
22+
// )
23+
24+
de façon à ce qu'on puisse récupérer la valeur pour n'importe quel indice dans le tableau interne, qui sera ainsi un nombre :
25+
26+
print_r($multiArray[0][0]) // 1
27+
print_r($multiArray[0][1]) // 2
28+
print_r($multiArray[0][2]) // 3
29+
30+
On peut aussi créer un tableau associatif multidimensionnel :
31+
32+
$personnes = [
33+
"john_doe" => [
34+
"prenom" => "John",
35+
"nom" => "Doe",
36+
"age" => 25,
37+
],
38+
"jane_doe" => [
39+
"prenom" => "Jane",
40+
"nom" => "Doe",
41+
"age" => 25,
42+
]
43+
];
44+
45+
print_r($personnes);
46+
47+
// Array
48+
// (
49+
// [john_doe] => Array
50+
// (
51+
// [prenom] => John
52+
// [nom] => Doe
53+
// [age] => 25
54+
// )
55+
// [jane_doe] => Array
56+
// (
57+
// [prenom] => Jane
58+
// [nom] => Doe
59+
// [age] => 25
60+
// )
61+
// )
62+
63+
print_r($personnes['john_doe']['prenom']); // John
64+
65+
Tutoriel par [**Temuri Takalandze**](https://github.com/ABGEO/)
66+
67+
Exercise
68+
--------
69+
70+
Complétez le code ci-dessous pour faire la somme de tous les nombres dans tous les tableaux internes et affichez le résultat sur une nouvelle ligne.
71+
72+
Tutorial Code
73+
-------------
74+
75+
<?php
76+
77+
$matrice = [
78+
[1, 2, 3],
79+
[4, 5, 6],
80+
[7, 8, 9],
81+
];
82+
83+
foreach ($matrice as $nombres) {
84+
$somme = 0;
85+
86+
// TODO: Ecrivez votre propre code ici.
87+
88+
echo "{$somme}\n";
89+
}
90+
91+
?>
92+
93+
Expected Output
94+
---------------
95+
96+
6
97+
15
98+
24
99+
100+
101+
Solution
102+
--------
103+
104+
<?php
105+
106+
$matrice = [
107+
[1, 2, 3],
108+
[4, 5, 6],
109+
[7, 8, 9],
110+
];
111+
112+
foreach ($matrice as $nombres) {
113+
$somme = 0;
114+
115+
foreach ($nombres as $nombre) {
116+
$somme += $nombre;
117+
}
118+
119+
echo "{$somme}\n";
120+
}
121+
122+
?>

tutorials/learn-php.org/fr/Welcome.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ contribuer avec des tutoriels, cliquez s'il vous plaît sur le lien
2121
- [[Variables et types]]
2222
- [[Tableaux simples]]
2323
- [[Tableaux à clés]]
24+
- [[Tableaux multidimensionnels]]
2425
- [[Chaines]]
2526
- [[Boucles for]]
2627
- [[Boucles while]]
2728
- [[Fonctions]]
2829
- [[Objets]]
30+
- [[Exceptions]]
2931

3032
### Proposer des tutoriels
3133

0 commit comments

Comments
 (0)