12 月 23 日,由开源中国联合中国电子技术标准化研究院主办的 2017 源创会年终盛典在北京万豪酒店顺利举行。在本次大会上,链家集团技术副总裁、PHP 开发组核心成员鸟哥发表了以 "PHP Next: JIT" 为主题的演讲,分享了 PHP 的下一个性能提升的主要举措:JIT 的进展, 以及下一个大版本的 PHP 可能的特性。 具体内容请看: https://mp.weixin.qq.com/s/bYZLJgKtdRwSX40Xixc5Yw ,这里 PHP Next 目前正在开发当中,由 Zend 的 Dmitry Stogov 主导, 但实际版本号尚未定义, 我暂且把它叫做 PHP 8. 关键功能 JIT(Just-In-Time)编译,是一种将代码转换为另一种字节码(比如运行它的机器 CPU 的本地代码)的技术。 JIT 可以使程序运行更快。JIT 可以对现有代码提供很大的性能改进,但在某些情况下,你可能会注意到速度提高只有几个百分点,在最坏的情况下,它甚至可能会变慢,因为编译不会生成更快的代码。 我看到这篇文章内容就想起了. NET 平台上的开源项目 Peachpie。
Peachpie 是一个用于 .NET 平台上的的 PHP 编译器和运行时。作为 PHP 语言的完全重新实现,它允许完全使用 .NET 进行编写,并在 .NET Framework、NET Core 和 Mono 上运行 PHP。Peachpie 可以无缝利用 .NET 对象,另一方面,也可以让 C# 代码直接访问已编译的 PHP 函数、变量和类。Peachpie 项目的目标是将 PHP 代码库迁移至 .NET,从而可通过各自的 API 为 PHP 提供 .NET 和 ASP.NET 运行时。最新版本是 0.8, 支持. NET Standard 2.0 : https://www.peachpie.io/2017/11/php-netstandard-2-0.html ,Peachpie 也在 PHP 7.2 发布时第一时间完成支持编译 php7.2 代码到. NET https://www.peachpie.io/2017/12/php-7-2-on-net.html .
Peachpie 是一个基于 Microsoft 的 Roslyn 的现代 PHP 编译器,并从我们广受欢迎的 ** Phalanger ** 项目中获取。它允许 PHP 在. NET 框架内运行,从而为 PHP 开发人员打开了. NET 的大门 - 反之亦然。该项目的目标是将遗留的 PHP 代码编译成可移植的类库,使开发人员能够快速,轻松地为 Microsoft 平台构建跨平台的应用程序和库。直接的结果是,由 Peachpie 提供支持的 PHP 应用程序将运行在能够运行. NET 的所有设备和操作系统上。除了授予 PHP 程序员进行跨平台开发之外,Peachpie 允许与. NET 完全兼容,这使得开发混合应用程序成为可能,其中部分代码是用 C#编写的,部分用 PHP 编写的。这些部分将完全兼容,并且可以在. NET 框架内无缝地进行通信。
通过 Peachpie 已经可以在. NET 平台上运行经典的 PHP 程序,例如 WordPress,CodeIgniter,Drupal, MediaWiki 等 。 不过还有一个 bug 要修复,具体参见 https://github.com/peachpiecompiler/peachpie/issues 。
下面我们来简要体验下使用 PHP 写. NET 程序:
.NET Core 构建并授权您的应用程序。这是一个通用,跨平台和安全的代码环境。
2、安装 Peachpie .NET 模板
我们已经为您准备了通用的项目类型。他们隐藏了项目文件的所有复杂性,并附带代码示例。
dotnet new -i Peachpie.Templates :: *
- 一共有三个模板:控制台,web以及类库
3、创建网站
现在创建该项目,该命令将创建初始解决方案所需的所有文件。Website 目录将包含您的 PHP 网站的根目录。
继续编辑新创建的 Website/index.php 文件。
dotnet new peachpie-web-lang PHP
4、运行你的项目
导航到该 Server 目录。这是 Web 应用程序的入口,作为 PHP 网站的引导程序工作。
这些命令还原所有的依赖关系,编译项目并启动 Web 服务器。
cd serverdotnet restore dotnet run
打开您最喜欢的网络浏览器并输入网址。
HTTP://localhost:5004
WordPress 示例
- 他们已经为Peachpie 上线了商业网站http://www.peachpiestudio.com/ ,为Peachpie的发展提供商业服务支持,你可以在Peachpie编译器平台上找到商业工具和服务,你可以通过Visual Studio/Visual studio code上进行代码的开发。
Peachpie 使用他们的 WordPress 版本作为 PHP 编译为. NET 的一个例子。 我们来演示如何跑起来。
来源: http://www.cnblogs.com/shanyou/p/8097881.html