Bonjour,
J'ai trouvé un tutoriel assez intéressant au sujet de de la POO pour débutant. Cependant quand je fait un essai en local du programme j'ai une jolie erreur.
Voici le script :
Voici l'erreur que j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 <?php class Stylo { static private $niveau_encre_max = 100; static private $niveau_encre_min = 25; private $niveau_encre; protected $couleur_normale = '#000000'; protected $couleur_fin = '#C0C0C0'; public $statut; private function peutEcrire() { if (!$this->statut) { $result = false; } elseif ($this->niveau_encre<=0) { $result = false; } else { $result = true; } return $result; } public function __construct() { $this->statut = false; $this->niveau_encre = self::$niveau_encre_max; } public function click() { if ($this->statut) { $this->statut = false; } else { $this->statut = true; } } public function ecrire($texte) { if ($this->peutEcrire()) { echo '<p style="color:'.$this->couleur_normale.'">'; $nb_caracteres = strlen($texte); $texte = htmlentities($texte); $texte = str_split($texte); $i = 0; while($this->peutEcrire() && $i<=$nb_caracteres) { if ($this->niveau_encre==self::$niveau_encre_min) { $format = '<span style="color:'.$this->couleur_fin.'">%s'; } else { $format = "%s"; } printf($format, $texte[$i]); $i++; $this->niveau_encre --; } if ($this->niveau_encre<=self::$niveau_encre_min) { echo "</span>"; } echo "</p>\n"; } } } $monBic = new Stylo(); $monBic->ecrire('Essayez d\écrire sans enlever le capuchon ') ; $monBic->click() ; $monBic->ecrire('Un premier paragraphe.') ; $monBic->ecrire('Un second paragraphe qui n\'iras pas jusque au bout car mon stylo va certainement manquer d\'encre.'); $monBic->click() ; ?>
Merci de m'éclaircir, apparement ce serait un problème de tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Notice: Undefined offset: 22 in C:\Program Files\EasyPHP 2.0b1\www\Lab\essai\test.php on line 49








Répondre avec citation





Partager