phpbar.de logo

Mailinglisten-Archive

[php] Konfigurations in Konstanten oder Variablen?

[php] Konfigurations in Konstanten oder Variablen?

Sebastian Mendel lists at sebastianmendel.de
Mit Okt 13 10:07:01 CEST 2004


Dennis Sterzenbach wrote:

> Die Konstante IST definiert.
> Aber (offensichtlich) gibts(gabs?) einen Bug bei Prepared bzw. 
> parameterisierte Statements wie dieses:
> $db->getAll('SELECT * FROM tblx WHERE type=?', MYDEFAULTTYPE);
> 
> da kam nämlich immer SELECT * FROM tblx WHERE type=MYDEFAULTTYPE
> bei raus, statt dass der Wert von MYDEFAULTTYPE eingesetzt wurde.

ich kann mir fast nicht vorstellen das dies ein Fehler von PEAR::DB ist, 
weil die aufgerufene Funktion gar nicht weiß woher die Daten Kommen, ob 
aus einer Konstante, Funktion oder Variable!

function funktion( $param ) {}

die Funktion bekommt ja immer nur das ausgewertet Ergebnis des 
Funktions-Aufrufs, die Funktion kann gar nicht wissen ob der Parameter 
aus einer Konstante oder Variablen oder sonst woher kommt und demzufolge 
kann sie erst recht nicht wissen wie die Konstante hieß.

also:

funktion( KONSTANTE )
funktion( $variable )
funktion( $objekt )
funktion( funktion() )
funktion( &$variable )


wird folglich zu

funktion( 'Konstanteninhalt' )
funktion( 'Variableninhalt' )
funktion( Objekt ) // PHP4
funktion( Objektreferenz ) // PHP5
funktion( 'Funktionsrückgabe' )
funktion( Variablenreferenz )


und nur diesen Inhalt bekommt die Funktion, wenn also die Funktion da 
etwas anderes bekommt hat das nichts mit der Funktion zu tun, sondern 
mit dem Parser.



-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive