Hallo,
Mir ist auch trotz deiner ausführlichen Ausführungen leider immer noch unbekannt, wo genau die Bindung des Variablennamens an eine Instanz der _zval_struct stattfindet.
executor_globals.active_symbol_table ist ein HashTable (siehe zend_globals.h, ~ Zeile 182), der alle aktuell gültigen Variablen enthält, d.h. dort sind die Keys die Namen der Variablen und die Werte die zval-Zeiger.
(Es gibt noch einige Optimierungen, die in 5.3 den active_symbol_table oftmals überflüssig machen, das unterschlage ich hier aber mal - das hat im Endeffekt nur mit der Performance zu tun, mit nichts weiter.)
Viele Grüße,
Christian
--
Mein "Weblog" [RSS]
Using XSLT to create JSON output (Saxon-B 9.0 for Java)
»I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
-- Kommentar bei TDWTF
Mein "Weblog" [RSS]
Using XSLT to create JSON output (Saxon-B 9.0 for Java)
»I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
-- Kommentar bei TDWTF