Zend Engine 2 alpha
14th June 2002
I don’t know how I missed this, but the PHP group have released an alpha version of PHP with the Zend Engine 2 (tarball / Windows binary). This is exciting stuff—the new scripting engine has vastly improved object support and brand new exception handling, something I’ve wanted in PHP for a long time. The CHANGELOG lists the new features and provides sample code. Here’s a summary:
- New Object Model—objects are dealt with by reference and no longer copied every time they are assigned or passed to a method.
- Private Members—classes can have private members, specified with the new
privatekeyword. - Object Cloning—via a new
__clone()method. - Forced deletion of objects—via the new
deletestatement. - Nested classes (namespaces)
- Unified Constructors—constriuctors can now be declared as
__construct()rather than using the name of the class. - Destructors—specified with
__destruct(). - Exceptions—including
try,throwandcatchblocks. - Dereferencing objects returned from functions—now you can use code like this:
('bar')->method(); - Static member variables of static classes can now be initialized.
- Parameters that are passed by reference to a function may now have default values.
- Built-In Backtracing—the
debug_backtrace()returns an array of previously called functions, along with their file and line number.
It’s all good, but it comes with a hefty warning against using the alpha on even semi-production web sites. Personally I can’t wait for a deployable version.
More recent articles
- Reverse engineering Codex CLI to get GPT-5-Codex-Mini to draw me a pelican - 9th November 2025
- Video + notes on upgrading a Datasette plugin for the latest 1.0 alpha, with help from uv and OpenAI Codex CLI - 6th November 2025
- Code research projects with async coding agents like Claude Code and Codex - 6th November 2025