PHP 5 Hits The Street

By on July 14, 2004

PHP version 5.0.0 has now officially been released, bringing a large number of long-overdue changes to PHP.

The Zend Engine II with a new object model and dozens of new features.

XML support has been completely redone in PHP 5, all extensions are now focused around the excellent libxml2 library (

A new SimpleXML extension for easily accessing and manipulating XML as PHP objects. It can also interface with the DOM extension and vice-versa.

A brand new built-in SOAP extension for interoperability with Web Services.

A new MySQL extension named MySQLi for developers using MySQL 4.1 and later. This new extension includes an object-oriented interface in addition to a traditional interface; as well as support for many of MySQL’s new features, such as prepared statements.

SQLite has been bundled with PHP. For more information on SQLite, please visit their website.

Streams have been greatly improved, including the ability to access low-level socket operations on streams.

And lots more…

The biggest improvements are the changes to Zend, the core of PHP, that makes PHP a full-fledged OO language now. Features like private, static, abstract, and final methods, as well as the option to (somewhat) strongly type variables, mean that PHP can now be used to build serious object models.

When using OO techniques in PHP 4, I tended to run into the barriers caused by these missing features, and it always felt like the language was trying to push me into writing spaghetti code. Sadly, still no schema support.