Hallo,
Und da ist es dann entscheidend: Was geschieht genau, wenn der RefCount 0 wird? Wird dann SOFORT der Destruktor des Objektes aufgerufen,
Ja. Das hatte ich doch in der Codestelle gezeigt: zval_ptr_dtor (zend_execute_API.c) setzt den Refcount eines ZVALs herunter, wenn der 0 erreicht hat, wird der Destruktor aufgerufen (zval_dtor_func, zend_variables.c) und das ruft dann die entsprechenden Destruktoren auf für die einzelnen Dinge, z.B. für Ressourcen etc. Da wird nicht auf das Aufräumen gewartet.
Andere Sprachen machen sowas ähnliches teilweise, PHP nicht.
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