Bonjour à tous,
Je voudrais un avis sur la pérennité de ce genre de code :
Vous remarquerez qu'il est possible d'accéder à la constante de la classe dérivée à partir de la classe parente.
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 <?php class foo { public static function getFormattedId() { return 'Formatted : ' . static::ID; } } class bar extends foo { const ID = 'bar_bar'; } $a = bar::getFormattedId(); echo $a; ?>
Pour factoriser c'est génial mais je me demande si ce genre de code ne va pas trop loin avec le late static binding. Dans mon cas, je fais de la résolution de constante à la volée. Les esprits chagrins me diront qu'une constante est une variable statique et je vous répondrais oui mais conceptuellement parlant il y a une légère différence. Donc est-ce que ce genre de code est "tordu" ou pas ou pas trop ?
Partager