Extending its support for scripting and dynamic languages, Microsoft is hosting a project on its CodePlex site to deliver a PHP language compiler for the .Net Framework.
Known as Phalanger, the project reached Version 2.0 Beta 2 on July 30.
The primary goal of the project, released under Microsoft Shared Source Permissive License, is to enable full functionality of existing PHP scripts on .Net without any modification, Microsoft said.
Unlike the original PHP interpreter, Phalanger compiles scripts into MSIL (Microsoft Intermediate Language).
Phalanger offers Web application developers the ability to leverage both the ease-of-use and effectiveness of the PHP language and the power and richness of the .Net platform, the company said.
And the compiler developers can deploy and run existing PHP code on an ASP.Net Web server and develop cross-platform extensions to that code.
Meanwhile, the object model in Phalanger is compatible with PHP 5.0, and it lets developers combine PHP objects with .Net ones.
In fact, developers can use a class written in PHP from a .Net application or to import a .Net class—that might be written in C# or Visual Basic—into PHP scripts, the company said.
According to the CodePlex site, a major feature in Beta 2 is laying the groundwork for integrating Phalanger with Visual Studio 2005.
This integration is expected to be available “very soon,” the site said.
PHP, technically known as PHP: Hypertext Preprocessor, is a scripting language most often used for server-side Web scripting.
Developers typically use the PHP interpreter to run their code, but using compiled binaries is generally viewed as providing better performance than interpreted source code, Microsoft officials said.
In addition, the .Net Framework provides a secure environment and interoperability with other code running on the Microsoft CLR (Common Language Runtime), the company said.
A phalanger is a long-tailed possum-like marsupial native to Australia.
As Microsoft works to deliver a PHP compiler on .Net, the company also is baking in generic support for dynamic languages, said Jim Hugunin, creator of IronPython, an implementation of the Python language on .Net.
And various researchers and other groups are working on producing a compiler and interoperability bridge for the Ruby language on the .Net platform.