Phalanger 概述

  • Jonathan Allen
  • 侯伯薇

2012 年 1 月 31 日

话题:.NETWeb框架PHP语言 & 开发

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
.NETWeb框架PHP语言 & 开发