Je passe mon dimanche pluvieux à tester les classes du style Iterator, etc

Et j'ai une bête question, je dis bête car si PHP ressemble de part sa syntaxe au language C, je n'ai vu nulle part (même dans ce forum) une mention sur les pointeurs sur fonction.

Voici le classe et donc le test que lequel je travaille :

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
class Validator implements Iterator
{	private $curr,$start,$end,$function ;

	function __construct($start ,$end , $function)
	{	$this->start 	= $start ;
		$this->end   	= $end ;
		$this->function = $function ;	
		$this->rewind() ;
	}
	
	function rewind() {
		$this->curr = $this->start ;
	}
	
	function key() {
		return($this->curr) ;
	}
	
	function current() {
		return($this->function() ) ;
	}
	
	function next() {
		if ($this->valid())
			$this->curr++ ;
	}
	
	function valid() {
		return( ($this->curr <= $this->end) ? true : false ) ; 
	}
}

function power($x) {
return( pow($x) ) ; }

$val = new Validator(3,7, power) ;
foreach ($val as $key => $value)
{	print("the square of $key is $value<br>\n") ; }
Donc, je souhaite utiliser une classe dérivée de Iterator avec la méthode current qui serait un pointeur sur une fonction.
Ce qui apporterait, je pense, un peu + de souplesse.

J'ai lu des items sur call_user_func et call_user_func_array mais je ne suis pas sur que cela resolverait mon problème et surtout à supposer que.... je ne vois pas comment utiliser ses 2 functions dans mon exemple...

Merci à tous pour idées et sugggestions