InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Phalanger Roundup

Posted by Jonathan Allen on Jan 27, 2012

Sections
Development
Topics
Web Frameworks ,
.NET ,
Languages ,
WOA ,
Programming ,
PHP ,
Architecture ,
Phalanger ,
DLR

Phalanger is the .NET runtime and compiler for PHP offered by DevSense. When we lasted covered Phalanger it was in the process of converting its backend to use the DLR, which offered performance improvements over past versions.

Since then Phalanger 3 has been released support for PHP 5.3 namespace syntax and semantics as well as Mono. Some bugs in the Mono runtime caused problems that prevented fully leveraging Phalanger. In Mono 2.10.8 the bugs were fixed, making Phalanger a viable option on Linux.

Another change with Phalanger 3 is support for calling DLR objects from C# and Visual Basic. While that partially worked in version 2.1, it required a clumsy syntax involving passing around a context object. With version 3 that work-around is no longer needed. Developers also have direct access to PHP’s globals via ScriptContext.CurrentContext.Globals.

It should be noted that Phalanger still supports statically compiling PHP code into standard .NET assemblies. Marc Mezzacca recommends precompiling PHP-based websites to “make sure the application is error free and to lower response time during first request”.

No comments

Watch Thread Reply

Educational Content

Evolution in Data Integration From EII to Big Data

Approaches to integrating data are changing with emergence of cloud computing.

Winning Hearts and Minds: How to Embed UX from Scratch in a Large Organization

Michele Ide-Smith presents the lessons learned in the process of introducing UX principles and techniques into a large organization through a series of small steps.

LMAX Disruptor: 100K TPS at Less than 1ms Latency

Dave Farley and Martin Thompson discuss solutions for doing low-latency high throughput transactions based on the Disruptor concurrency pattern.

Thoughts on Test Automation in Agile

Rajneesh Namta shares his thoughts, experiences, and some of the critical lessons learned while implementing software test automation on a recent Agile project.

Actor Interaction Patterns

Dale Schumacher presents several patterns of actor interaction that can be used in collaborative programs written in any language.

Scalaz: Functional Programming in Scala

Rúnar Bjarnason discusses Scalaz, a Scala library of pure data structures, type classes, highly generalized functions, and concurrency abstractions to perform functional programming in Scala.

Faster, Better, Higher – But How?

One of the main challenges when designing software architecture is considering quality attributes. Not only their design turns out to be difficult, but also the specification of these attributes.

Software Naturalism - Embracing the Real Behind the Ideal

Michael Feathers analyzes real code bases concluding that code is not nearly as beautiful as designers aspire to, discussing the everyday decisions that alter the code bit by bit.