Mailinglisten-Archive |
Nico Haase schrieb: > Hallo Yannik, > > Yannik Hampe schrieb: >>> function __sleep() { >>> return( array_keys( get_object_vars( &$this ) ) ); >>> } >>> >>> Nun muckelt das aber auf einigen Servern mit folgender Fehlermeldung rum: >>> >>> Warning: Call-time pass-by-reference has been deprecated - argument passed >>> by value; If you would like to pass it by reference, modify the declaration >>> of get_object_vars(). If you would like to enable call-time >>> pass-by-reference, you can set allow_call_time_pass_reference to true in >>> your INI file. However, future versions may not support this any longer >>> >>> Klappt die Serialisierung auch, wie ich mir das denke, wenn ich das $this >>> als Variable weiterreiche? An sich müsste es doch gehen, oder? >> Wie wäre es, wenn du einfach dieses & da entfernst? Wieso hast du das >> überhaupt da hingeschrieben? > > http://de2.php.net/manual/en/language.oop5.magic.php#83556 enthält bspw. > ebendas. Ich hatte es aber aus einem anderen Kommentar auf den PHP-Seiten. > Gibts da noch Einsprüche? Irgendwas werden sich ja auch die Leute gedacht > haben, die da eben das & eingebaut haben. hat er sich vielleicht, aber auf jeden Fall hat er falsch gedacht, das & bei einer Variable dient dazu die Referenz für diese Variable und nicht den Inhalt selber zu verwenden/übergeben, ob an eine Funktion der Inhalt oder eine Referenz übergeben wird, wird aber nicht beim Funktionsaufruf bestimmt, sondern bei der Definition der Funktion, also hier: function myFunc(&$var); und _nicht_: myFunc(&$var); und Objekte werden sowieso immer als Referenz übergeben (in PHP 5). -- Sebastian Mendel
php::bar PHP Wiki - Listenarchive