Bonjour,
J'essaye de résoudre un pb et pour se faire, je me suis écrit un petit test...
Je ne comprends pas pkoi le tableau à une dimension = 0
Le voici:
Rien dans le log PHP juste l'affichage...
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 <?php interface Validator { function validate() ; } class Little implements Validator { function __construct() {} function __destruct() {} function validate() { print("Validate Little <br>\n") ; user_error("Validating LITTLE" , E_USER_NOTICE) ; } } class Greater implements Validator { function __construct() {} function __destruct() {} function validate() { print("Validate Greater <br>\n") ; user_error("Validating GREATER" , E_USER_NOTICE) ; } } class main { private $tab ; function __construct() { $tab[] = new Little () ; $tab[] = new Greater() ; print("Constructor <br>\n") ; } function destruct() { } function validate() { print("Validate Main Count[".count($this->tab)."]<br>\n") ; for($i = 0 ; $i < count($this->tab) ; $i++) { print("loop[".$i."] br>\n") ; if ($this->tab[$i] instanceof Validator) $this->tab[$i]->validate() ; } } } $main = new Main() ; $main->validate() ; ?>
Le but final est d'essayer de implifier ce code (dans mon application principale...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Constructor Validate Main Count[0]
Mais j'aurai sans doute un autre souci à savoir que je n'ai si je peux écrire
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 function validate() { user_error("validate form[".$this->cntField."]" , E_USER_NOTICE) ; if (!$this->cntFormFilled()) for ($i = 0 ; $i < $this->cntField ; $i++) : if ($this->form[$i] instanceof DATE) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof DECIMAL) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof EMAIL) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof INTEGER) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof PASSWORD) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof PHONE) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof SELECT) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof TEXT) $this->form[$i]->validate() ; elseif ($this->form[$i] instanceof TEXTAREA) $this->form[$i]->validate() ; else { $this->setMesssage(INVLCMD) ; throw new Exception("Unrecognized command") ; } endfor ; }
Je ne crois pas mais n'ai vu nulle part parler de cela...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 class myClass Extends CheckForm interface Validator { bla bla ........ }
Qui peut me faire avancer un peu ?
Partager