phpbar.de logo

Mailinglisten-Archive

[php] Extending PHP, Zend API

[php] Extending PHP, Zend API

Till Gerken tig_(at)_skv.org
Thu, 9 Mar 2000 01:12:06 +0100


> Wenn Du mal den Source der beiden Funktionen in der zend_API.c
> vergleichst, wirst Du sehen, daß die neue *Ex Funktion um ein ganzes
> Stück kürzer geworden ist. Folgendes ist rausgeflogen:

Korrekt, soweit war ich auch schon.

> Frag mich nicht, was hier im Detail passiert... Wichtig scheint mir, daß

Genau das war meine Frage. :) Die Funktionen ohne _ex basteln bei mit
Referenzen übergebenen Parametern rum, indem sie die übergebenen Werte
zuerst auf neue Speicherbereiche kopieren. Johann-Peter Hartmann vermutete,
daß dies evtl. deswegen passiert, um die Variablen gegen versehentliche
Änderungen zu schützen... ich habe das noch nicht überprüft, hört sich aber
durchaus schlüssig an, da die neu erstellten Kopien der Variablen nichts
mehr mit dem Original zu tun haben. Bleibt die Frage, ob bei einem
Funktionsaufruf alle Variablen, die _nicht_ via Referenzen übergeben werden,
automatisch auf temporäre Kopien gelagert werden.

Ich denke, der Code wird in den alten Funktionen durchaus einen Sinn haben,
sonst wäre er einfach rausgeflogen (ohne daß man einen komplett neuen
Funktionssatz gebastelt hätte).

Till




php::bar PHP Wiki   -   Listenarchive