par
Hubert Roksor » 21 juin 2007, 18:20
Non, t'as rien raté, c'est juste impossible à l'heure actuelle. En PHP, les trucs statiques sont apparemment très "statiques".
D'ailleurs, j'ai eu une suprise en essayant un print_r(debug_backtrace()) dans la méthode hello(), en voyant que la classe utilisée pour l'appel à la méthode était A, et non C. En gros, il n'y a aucun moyen* de différencier A::hello() de C::hello() avec ton code actuel... Donc en gros tu vas devoir dupliquer la fonction ou revoir ton design. Désolé
* en fait si, on pourrait utiliser debug_backtrace() pour lire la ligne du source PHP, mais c'est vraiment pour l'anecdote parce que je n'imagine pas les performances du truc
Non, t'as rien raté, c'est juste impossible à l'heure actuelle. En PHP, les trucs statiques sont apparemment très "statiques".
D'ailleurs, j'ai eu une suprise en essayant un print_r(debug_backtrace()) dans la méthode hello(), en voyant que la classe utilisée pour l'appel à la méthode était A, et non C. En gros, il n'y a aucun moyen* de différencier A::hello() de C::hello() avec ton code actuel... Donc en gros tu vas devoir dupliquer la fonction ou revoir ton design. Désolé :|
* en fait si, on pourrait utiliser debug_backtrace() pour lire la ligne du source PHP, mais c'est vraiment pour l'anecdote parce que je n'imagine pas les performances du truc