> Von: Derick Rethans [mailto:[EMAIL PROTECTED]
> On Sat, 8 Oct 2005, Matthias Pigulla wrote: > > The point is that this requires really unlogic and silly > > workarounds > > like 'return $tmp =& new Foo()'. That forces people to touch stable > > codebases; I find it comprehensible that they feel this is like > > passing the engine internal problems to the php coders. > I discussed this with Dmitry today and we agree that although > this is strange, we will not do any modifications here as PHP > 4.4. is stable and we don't want to risk breaking things. <sarcasm-please-ignore> Yeah, keep 4.4 stable and make sure it does not break things. Delegate these problems to the developers of PHP code >:) </sarcasm-please-ignore> Sorry. I know you put big effort into recovering from this kind of problems and did not have fun with it either. So, this is something that is too complex to handle in the engine? I mean, if you can detect that what follows "return" is a (php level) function call that returns a reference, why can't you handle "new" the same way? Explain someone (maybe new to PHP) why "new Foo()" creates a "thing" that can be referenced, as you can assign it by ref like $a =& new Foo(). But you cannot return the very same referencable "thing" from a function and make the assignment up one level in the call stack? Yes I know - it's just a notice. But it hurts to add hot air (semantic NULLs) to large, stable codebases just to make inappropriate notices go away again. Matthias PS. Anyone ever thought about explaining the whole reference-related decisions on the upcoming International PHP Conference? Maybe that could help to gain understanding as to why the changes were necessary... Maybe also give a statement as to possible breaks in BC with the advent of PHP6? I have the impression that a lot of people out there are frustrated and unsure as to why they should fix PHP4 code to rewrite it for PHP5 and to port that to PHP6 in a few years... Why not stick to <hyped-language-goes-here> right now? -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php