Phalanger (compiler)
From Wikipedia, the free encyclopedia
Phalanger is a project which was started at Charles University in Prague and was supported by Microsoft. It compiles source code written in the PHP scripting language into CIL byte-code. It handles the beginning of a compiling process which is completed by the JIT (Just-In-Time compiler) which is a part of the .NET Framework. It does not address native code generation nor optimization. Its purpose is to compile PHP scripts into .NET assemblies, logical units containing CIL code and meta-data.
Phalanger can run real-world PHP applications, many with minor to no modifications. It provides a robust platform for PHP applications with many advantages over the traditional PHP interpreter. Being built on top of ASP.NET and the .NET Framework, Phalanger makes PHP applications run faster (due to compilation), easily configurable using the ASP.NET configuration system, more reliable, and more secure due to the very well tested, managed environment of ASP.NET. Examples include MediaWiki, phpMyAdmin and phpBB.
There is an ongoing software project[1] at Charles University. Its main goals are to re-implement the Phalanger core using new Microsoft DLR technology and to develop a Visual Studio integration tool to provide Intellisense for the PHP language.
A project involving Phalanger was mentored by the Mono team during the Google Summer of Code program in 2008. During this period Phalanger was ported to the Silverlight 2.0 framework with the goal of making it work on Moonlight as well.[2]
Early in 2008, UK Content Management vendor Jadu partnered with the Prague-based team to improve communication between .NET and the Phalanger compiler. It’s based on duck typing and provides a way for accessing objects from the dynamic PHP world that lack compile-time type information from a statically typed language in a .NET environment in a type-safe way.[3]
According to Microsoft, the primary goal of the project, released under Microsoft Shared Source Permissive License on the Microsoft Codeplex, is to enable full functionality of existing PHP scripts on the .NET framework without any modifications.[4]
In December 2008, Jadu announced that it has made the compiler available to the developer community and in interviews with ITPRO [5] and VNUnet[6] said that the development would help close the skills gap between PHP and .NET.
[edit] References
- ^ "Improvements in the Phalanger Project". www.php-compiler.net. 2008-07-01. http://www.php-compiler.net/lib/exe/fetch.php?id=documentation&cache=cache&media=specification.pdf.
- ^ "Google Summer of Code Application Information". 2007-04-21. http://code.google.com/soc/2008/mono/appinfo.html?csaid=1F581A61E0C48A1D.
- ^ Petricek, Tomas (2007-04-30). "Using PHP objects from C# in a type-safe way". http://tomasp.net/blog/ducktyping-in-phalaner.aspx.
- ^ Krill, Paul (2006-08-24). "Microsoft accommodates dynamic languages". Computerworld. http://www.computerworld.com.au/index.php/id;1718685037;fp;4;fpid;611908207.
- ^ Har-Even, Benny (2006-12-02). "Jadu gets PHP and .NET talking". ITPRO. http://www.itpro.co.uk/608829/jadu-gets-php-and-net-talking.
- ^ Muncaster, Phil (2006-11-28). "Jadu brings PHP and .NET closer together". VNUnet. http://www.vnunet.com/vnunet/news/2231564/php-net-step-closer.
[edit] External links
- Official Web Page for v1
- Official Web Page for v2 on CodePlex
- eWeek article about Phalanger
- Microsoft accommodates dynamic languages (article)
- Channel 9 Phalanger
|