InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Phalanger概述

作者 Jonathan Allen 译者 侯伯薇 发布于 2012年1月31日

领域
语言 & 开发
主题
Web框架 ,
.NET ,
架构 ,
PHP ,
编程 ,
DLR

Phalanger是由DevSense提供、针对PHP的.NET运行时和编译器。在我们上次介绍Phalanger的时候,它还处于转换后台以使用DLR的过程之中,那在前一版本的基础上对性能做出了提升。

在那之后发布了Phalanger 3,支持PHP 5.3命名空间语法和语义以及Mono。但在Mono运行时中有些缺陷会导致问题,这使得它无法对Phalanger提供完全支持。在Mono 2.10.8中缺陷已经得到修正,这使得我们可以在Linux上选择使用Phalanger。

Phalanger 3中另一项改变是支持从C#和Visual Basic调用DLR对象。尽管在2.1版本中已经部分有效,但那时还需要一种笨拙的语法来传递context对象。在版本 3中不再需要这种传递。开发者还可以通过ScriptContext.CurrentContext.Globals直接访问PHP的globals

我们会注意到,Phalanger仍然支持把PHP代码静态编译成标准的.NET程序集。Marc Mezzacca建议对基于PHP的站点进行预编译,从而“确保应用程序中没有错误,并且在第一次请求的时候缩短响应时间”。

查看英文原文:Phalanger Roundup

译者 侯伯薇 是InfoQ中文站架构社区编辑,有多年对日和国内项目开发经验,目前关注企业中技术与实际业务之间的融合和协作。