老虎,或许你要的
Phalanger 是一种 PHP 语言编译器,也是针对 .NET 的 PHP 运行时。 它可以用于把 PHP web 项目编译成 .NET 字节码,并在 Windows 中使用 IIS 或者在Linux 上使用 Mono 和 Apache 作为 ASP.NET应用程序来执行。 然而,Phalanger 不仅仅是把已经存在的 PHP 应用编译到 .NET 中。
我们可以使用 Phalanger 创建组合 .NET 和 PHP 的解决方案,所采用的方式用标准的 PHP解释器是不可能做到的。 有了 Phalanger 扩展,PHP 程序可以直接使用 .NET 类,而 .NET 程序(比方说用 C# 编写的)也可以动态地调用 PHP 脚本,或者使用在 PHP 中实现的函数和类【 6 】。
本文中,我么会简要地介绍 Phalanger,然后查看三种使用方案。 我们会讨论如何整合 PHP 应用程序和 .NET;如何高效地在 Windows 上运行 PHP 应用程序,以及如何使用 PHP 作为 ASP.NET的视图引擎(view engine)。
Phalanger 简介
Phalanger 已经存在一段时间了。 第一版 Phalanger 是于 2003 年在布拉格的查尔斯大学作为软件项目创建的。稍后就开始了2.0版本的开发,并且于 2006 年在 CodePlex 作为开源项目发布。 微软支持了这个项目一段时间,后来一位 Phalanger 开发者加入微软,并从事动态语言运行时方面的工作。
Phalanger 相关活动在 2008年恢复,这多亏有了与 Jadu 的合作,它使用 Phalanger 为在 PHP 中开发的 CMS 构建了 .NET 版本。 从 2010 年开始,Phalanger 的开发主要由 DEVSENSE 提供资金支持,它也为 Phalanger 提供了商业支持。最近发布的版本 Phalanger 2.1【 7 】,其中提升了与标准 PHP 实现的兼容性,在动态操作的实现过程中利用了 DLR,并提供了 PHP 和其他 .NET 语言(像C#、F#和 Visual Basic)之间的互操作性。
Phalanger 的组件
Phalanger 包括多个部分独立的组件,可以用来开发运行在 .NET 上的 PHP 应用程序,并使用 .NET 或 Mono 来运行它们:
*. Phalanger 编译器
Phalanger 会把 PHP 源代码编译成 .NET 程序集,它可以使用 .NET JIT(Just-in-time 编译器,它会为当前平台生成本地代码)执行。 编译后的 PHP 代码会使用 Phalanger 运行时和动态语言运行时,从而提供了 PHP 语言动态特性的高效率实现。
*. Phalanger 运行时和类库
Phalanger提供了对数组之类 PHP 特性的实现。 Phalanger 还包含了针对I/O、正则表达式以及其他标准 PHP 类库的 .NET实现。
还有它对PHP5的支持怎么样也不清楚。
kb.cnblogs.com/page/138573/
看样子很方便的样子,哪天去把hu60wap5编译了看看。
/*注册自动加载类的函数*/
spl_autoload_register('autoload_file');
spl_autoload_register('__autoload');
由于smarty使用了SPL自动加载类,所以我们也必须使用SPL注册一下我们的自动加载类函数
可以注册多个,系统会依次调用直到成功
/*注册自动加载类的函数*/
spl_autoload_register('autoload_file');
spl_autoload_register('__autoload');
由于smarty使用了SPL自动加载类,所以我们也必须使用SPL注册一下我们的自动加载类函数
可以注册多个,系统会依次调用直到成功
,autoload_file(就这样用不)
autoload的用法是,当你第一次使用某个类时,系统会自动依次调用所有注册的自动加载函数,直到加载成功。
所以,我们写好规则之后就可以直接
$a=new a();
不需要事先include 'a.class.php';