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:

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() ;
?>
Rien dans le log PHP juste l'affichage...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Constructor 
Validate Main Count[0]
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
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 ;
			}
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
class myClass Extends CheckForm interface Validator
{      bla bla ........
 
}
Je ne crois pas mais n'ai vu nulle part parler de cela...

Qui peut me faire avancer un peu ?