Roadsend PHP

Roadsend PHP is an alternative implementation of the PHP programming language. It includes an interpreter, native compiler, and step debugger. Roadsend Compiler can be used to build online web applications with FastCGI, offline web applications with an embedded web server (using the included "MicroServer"), desktop GUI applications with PHP-GTK, libraries, and console applications.
Roadsend PHP compiler is unique among PHP implementations because rather than compiling and interpreting PHP byte code, it compiles PHP source code to native machine code.
Roadsend PHP builds on Linux, Microsoft Windows (using MinGW), Mac OS X, and FreeBSD. The Windows release includes the Roadsend Studio IDE. Originally developed by Roadsend Inc., it has been in development since 2002 and was released under the terms of the GNU General Public License in 2007, making it free software. The Roadsend PHP runtime environment and extension libraries are available under the terms of the GNU Lesser General Public License.
Relation to Zend PHP
Roadsend PHP is a completely independent implementation of the PHP language and runtime environment, and is not based on the original implementation (using the Zend Engine). "Zend PHP" is not required, and is not used in any way, by Roadsend PHP. Roadsend is implemented in Bigloo Scheme and C.
As there is no formal specification of PHP, the Zend implementation serves to define a de facto standard against which Roadsend PHP is developed.
Native compilation
Roadsend achieves native compilation by compiling to bigloo scheme, which in turn is compiled to C, then to machine code. The entire process is completely integrated and transparent to the end user.
In addition to compiling, Roadsend PHP can also interpret PHP source directly.
Roadsend Studio IDE
Included with the Windows release is the Roadsend Studio IDE. It provides a syntax highlighting editor, project manager, step debugger and compiling and interpreting of projects (including GUI apps) from within the IDE. It automatically deploys a finished project to a directory (included supporting libraries), ready for packaging. It examines your code as you type, has early syntax error recognition, auto method and property completion and auto parameter help.
Roadsend Studio is currently only available with an older release for Windows.
Compatibility
Roadsend PHP aims to be syntactically and semantically compatible with Zend PHP whenever possible. As of version 2.9.3, Roadsend PHP is compatible with PHP 5.2.x, but nobody has been able to compile anything above version 2.9.0 on windows.
A smaller (but popular) subset of the current Zend PHP extensions are currently implemented. These include:
* Standard Library
* PCRE
* MySQL
* XML (libXML 2 based)
* SQLite 3
* ODBC
* CURL
* pcc-win (a custom, windows only extension with access to the windows API)
* POSIX
* PHP-GTK 1
* PHP-GTK 2 (in development)
* sockets (TCP only)
State of functionality
Even with the smaller subset of extensions, Roadsend PHP is sophisticated enough to compile and run many popular PHP packages such as phpBB and phpMyAdmin. For example, the Roadsend Support Forums run a compiled version of phpBB through FastCGI.
Future
An effort is currently underway to rewrite Roadsend PHP in using LLVM for code generation. The goal is to offer a fast implementation of PHP with the latest language features (including object system, namespaces and anonymous functions) while being fully unicode, easily extensible and JIT or statically compiled.
The project already has the major components in place and can JIT simple PHP. The latest developments can be found on the development website.
 
< Prev   Next >