John Lim has a new post on his site, PHPEverywhere, today with his opinions on comments made by Pierre about the backwards compatibility issues that have broken between PHP 4.4 and 5.0.5 - and how he agrees that maybe it wasn't such a good idea.
This sort of confusion leaves a bad taste in the mouth, and is not helped by remarks such as "Feel free to fix the whole engine though with a patch...", "There's nothing critical here, fix your scripts". If we understood better why the engine couldn't be fixed perhaps we would feel better and more cooperative instead of feeling stupid, confused and annoyed -- because it really isn't an end-user bug, but a PHP internals one that has surfaced and bitten everyone.
I'm sure that there are good reasons for the new memory corruption warnings that appear in PHP 4.4 and 5.0.5. However the PHP developers have done an extremely bad job in explaining why many things that worked in earlier versions of PHP now breaks, or why we are now getting "Fatal error/Warning: Only variables can be passed by reference..." messages.
There is a fine line that has to be walked when you're working on future versions of products, and, unfortunately, you can't make everyone happy - it's just a fact of life. Some people might like that it throws an error when you try to pass a function by reference. For others, it's an annoyance. It's hard to gauge the response of the PHP community as a whole when there are only really a few vocal ones out there saying anything about it...




