PHP5’s Honeymoon Is Over
This is a warning for developers condsidering the upgrade to PHP5. While the new version is tempting, I’ve found out it’s not all roses and painless as it seems to be.
I’ll admit that I’m quite smitten with many of the new features in php5; in particular there’s the MySQLi extension, the new SOAP extension, and some decent object-oriented functionality that’s been long overdue. However, I’m sad to report that if you have used the xslt extension at all in php4, you have no choice but to update your code to use the new improved XSL set of functions.
In many cases, it’s very hard to justify breaking backwards compatibility in a language or any other program, and to some extent in certain cases, I can agree with changes that would require very little time to refactor on the developer’s end. Sadly, the decision to completely drop support for the xslt library in php5, in my opinion, is beyond excuse, and I can find no good reason as to why it was abandoned.
To make matters worse, I read the migration guide written at Zend and it made no mention of the xslt abandonment. When I realized that the extension had been dropped, after I built php5, I headed to the online documentation and found a note saying it had been supposedly moved to PECL.
All the recent talk of php’s viability as an enterprise solution doesn’t really hold up when large portions of code break between releases. Yes, we’ll be porting our code at work, because we need the new features of PHP, but we do so grudgingly.
Update: Looks like they made an even larger screwup with making people lose their old set of functionality for a new set of undocumented functions.