Ik werk met een library waaruit PHP-code gegenereerd wordt zoals Foo en Bar uit het stukje code hieronder. Nu ben ik bezig met een stukje eigen code waarin ik de waarde van de in de klassen gedefineerde constanten nodig heb. Onderstaande manier is de enige manier waarop ik het voor elkaar krijg, maar ik vind her gebruik van eval() niet zo fraai. Kan het ook anders?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <? class Foo { const ID = "foo.id"; } class Bar { const ID = "bar.id"; } $class = isset($_GET['class']) ? $_GET['class'] : "Foo"; eval("\$id = $class::ID;"); echo $id; ?> |