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 :
Donc, je souhaite utiliser une classe dérivée de Iterator avec la méthode current qui serait un pointeur sur une fonction.
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
38class 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") ; }
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![]()









Répondre avec citation
Partager