Mailinglisten-Archive |
Hi, (ich bin ganz erstaunt, dass sich hier schon eine so rege Diskussion entwickelt hatte ...) On Tue, Dec 12, 2000 at 01:25:28AM +0100, Daniel Beulshausen wrote: > At 01:00 12.12.2000 +0100, you wrote: > >Andreas Braukmann wies mich gerade in d.c.l.p auf die offizielle > >Schreibweise hin: "assignment by reference". PHP hält was es verspricht, > >auch wenn ich mir etwas mehr Parserintelligenz wünschen würde. Meinen 'leisen aber deutlichen' Fluch ueber diese Unzulaenglichkeit hat Ulf freundlicherweise hier nicht wiedergegeben ;) Ich bin recht frueh nach unserem 'ernsthaftem' Umstieg auf PHP4 auf dieses Misfeature gestossen. Ich hab' dreimal das Handbuchkapitel gelesen und zweimal geflucht und habe mich dann damit abgefunden (bzw. auf die naechsten Versionen gehofft.) > es ist =& um variablen eine referenz zuzuordnen, Die Implementierung als explizite "Referenz-Zuweisung" find' ich etwas kurzsichtig. (Sonst reiten die Sprachentwickler doch auch auf der C(++)-Welle, warum nicht hier auch?) > richtig wäre daher afaik folgendes > <?php > $var1 = "5"; > $var2 =& $var1 == 5 ? $var1 : $var1; > ?> Das geht aber auch nicht, weil "$var1" als Expression ausgewertet explizit den "Wert" der Variablen 'var1' liefert. Von diesem "Wert" kann dann natuerlich keine Referenz mehr bestimmt werden, zumindest keine Referenz, die tatsaechlich 'var1' referenzieren wuerde. Wirklich aergerlich finde ich, dass somit (im Moment) auch kein direktes "return &$myObject" moeglich ist. Stattdessen muss man ein wenig elegantes $tmp = &$myObject; return $tmp; verwenden. > andi gutmans hatte vor kurzen eine gute zusammenfassung zu > referenzen auf php dev gemacht, vielleicht sollte man die > irgendwie ins manual einarbeiten. hmmm. Vielleicht sollte ich die doch mal wieder abonnieren und lokal archivieren. -Andreas, der im uebrigen der Meinung ist, dass wir einen ordentlichen Referenz-Operator brauchen koennten :) -- : Anti-Spam Petition: http://www.politik-digital.de/spam/ : : PGP-Key: http://www.tse-online.de/~ab/public-key : : Key fingerprint: 12 13 EF BC 22 DD F4 B6 3C 25 C9 06 DC D3 45 9B :
php::bar PHP Wiki - Listenarchive