在对 Peachpie 的用法进行了一些工作之后,现在回到了在编译器本身实现的核心功能。目前正在更加接近完成项目的“初衷” — 能够运行完整的现实世界的应用程序
PHP 会话
<?php session_start(); // this actually initializes $_SESSION from ISession service echo $_SESSION['counter']++; // here we change PHP session variable session_commit(); // and this serializes $_SESSION back into ISession and saves the session object
评估代码
<?php function main() { //eval('echo "Hello evil .NET World!";'); eval('class X { function foo(){ echo __METHOD__; } }'); (new X)->foo(); } main();
Peachpie 诊断
<?php function g($p) { global $p; // reported as not yet supported } print_r( g() ); // g : Generator
实验性的生成器实现
<?php function g() { yield 1; yield 2; echo yield 3; // reported as not yet supported } print_r( g() ); // g : Generator
VSCode 扩展
对图像和 GD2 的实验性支持
Peachpie 是一个用于 .NET 平台上的的 PHP 编译器和运行时。作为 PHP 语言的完全重新实现,它允许完全使用 .NET 进行编写,并在 .NET Framework、NET Core 和 Mono 上运行 PHP。Peachpie 可以无缝利用 .NET 对象,另一方面,也可以让 C# 代码直接访问已编译的 PHP 函数、变量和类。
Peachpie 项目的目标是将 PHP 代码库迁移至 .NET,从而可通过各自的 API 为 PHP 提供 .NET 和 ASP.NET 运行时。
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]本文标题:Peachpie 0.7.0 的新特性,.NET 平台上的 PHP 编译器
本文地址:https://www.linuxprobe.com/peachpie-net-php.html编辑:吴向平,审核员:逄增宝
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/112963.html