Hello,
Werden Static Vars auch gelöscht, wenn die Klasse stirbt?
Auch hier meitne ich die Instanz der Klasse.
Die Static Var liegt aber im Definitionsbereich der Klasse.
Sie bleibt also bestehen, wenn man sie nicht im Destruktor zurücksetzt.
PHP gibt nur Ressourcenkennungen nach außen. Mit Handles im eigentlichen Sinne kommt der PHP-Programmierer nicht in Berührung. Wenn eine Schließfunktion nicht explizit für eine Ressourcenkennung aufgerufen wird, dann schließt PHP die Ressource und die damit verbundenen internen Handles am Scriptende. Mach dir mal als PHP-Programmierer nicht zu viele Gedanken um die Handles.
Die Ressourcenkennungen sind zu behandeln, wie Handles. Das Löschen einer Ressourcenkennung gibt das dahinterliegende Handle nicht frei, macht es aber unerreicbar!
Gerade, wenn man sich eigene Klassen abut, sollten die schon sauber designed werden. Dazu gehört auch das Zurückgeben von Handles, indem man die passende Funktion unter Verwendung der Ressourcenkennung benutzt.
Ich habe schon an die Hundert kaputter Scripte repariert, die das nicht beherzigt haben und daher ihre Server lahm gelegt haben.
Wer saubere OOP-Programme schreiben will, MUSS berücksichtigen, wie es "untenrum" aussieht.
Liebe Grüße aus dem Cyberspace
Tom vom Berg