Peachpie升级了,体现PHP跨平台优越性

在对 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.linuxprobe.com/peachpie-net-php.html

时间: 2024-10-07 05:05:00

Peachpie升级了,体现PHP跨平台优越性的相关文章

PostgreSQL 利用pg_upgrade升级版本

参考:http://www.postgresql.org/docs/current/static/pgupgrade.html 概述 从低版本升级到 新版本,有几种可选的方案.一是使用pg_dump/pg_restore,该方法比较耗时,也即是停机时间比较长,特别是大数据量下,但是 稳定且易于操作.二是和MySQL那样利用复制的方式,停机时间短,但操作相对复杂.第三种就是利用pg_upgrade,重建系统表,相对停机时间较短. pg_upgrade 1. 语法 pg_upgrade -b old

Android应用市场省流量更新(增量升级)原理解析

一.前言 最近在看热修复相关的框架,之前我们已经看过了阿里的Dexposed和AndFix这两个框架了,不了解的同学可以点击这里进行查看:Dexposed框架原理解析 和 AndFix热修复框架原理解析,然后还有最近很火的一个是腾讯的Tinker热修复框架,再看他的原理实现的时候,发现了他使用到了开源的文件差分工具bsdiff/bspatch,所以就单独用这篇文章来详细介绍一下这个工具,因为这个工具有一个很大的用途就是增量更新,也就是我们看到现在大部分的应用市场推出的省流量更新应用的效果: 看到

android黑科技系列——应用市场省流量更新(增量升级)原理解析

一.前言 最近在看热修复相关的框架,之前我们已经看过了阿里的Dexposed和AndFix这两个框架了,不了解的同学可以点击这里进行查看:Dexposed框架原理解析 和 AndFix热修复框架原理解析,然后还有最近很火的一个是腾讯的Tinker热修复框架,再看他的原理实现的时候,发现了他使用到了开源的文件差分工具bsdiff/bspatch,所以就单独用这篇文章来详细介绍一下这个工具,因为这个工具有一个很大的用途就是增量更新,也就是我们看到现在大部分的应用市场推出的省流量更新应用的效果: 看到

致龙芯15周年 胡伟武披露龙芯3号开发历程(非常精彩,巨多干货)

近日,龙芯中科宣布3A3000四核处理器芯片完成流片并通过系统测试.根据现有的测试结果,龙芯3A3000达到了预定的设计性能目标.其中,综合计算性能方面,在1.5GHz主频下,GCC编译的SPEC CPU 2006定点和浮点单核分值分别超过11分和10分:访存性能方面,Steam分值超过13GBps. 龙芯3A3000的流片成功,标志着我国自主研发的高性能微处理器芯片,可以超越目前引进的同类芯片性能.龙芯CPU首席科学家胡伟武撰文披露了龙芯3号开发的历程. 龙芯3A3000芯片 2016年是红军

如何实现并应用决策树算法?

本文对决策树算法进行简单的总结和梳理,并对著名的决策树算法ID3(Iterative Dichotomiser 迭代二分器)进行实现,实现采用Python语言,一句老梗,“人生苦短,我用Python”,Python确实能够省很多语言方面的事,从而可以让我们专注于问题和解决问题的逻辑. 根据不同的数据,我实现了三个版本的ID3算法,复杂度逐步提升: 1.纯标称值无缺失数据集 2.连续值和标称值混合且无缺失数据集 3.连续值和标称值混合,有缺失数据集 第一个算法参考了<机器学习实战>的大部分代码,

Java虚拟机运行时数据区

PS:时间一晃好久了,距离上一篇文章过去许久了,出自两个方面的原因,其一,公司的项目接近尾声,用户提出的需求功能需要马上的解决:其二,出自整天加速完善和修改需求功能,下班之后几乎不想再继续下去了,懒散情绪有了. 扯淡话题结束了,开始继续学习笔记文章的整理,每天一小步,久而久之就是巨大的一步.今天要扯的话题是Java虚拟机的运行时数据区. Java虚拟机(JVM)是 由JDK提供的一个软件程序,而其任务就是执行Java程序,下面给出虚拟机执行Java的过程图. 从图中可以看出由Java源文件编译出

二维图形的矩阵变换(三)——在WPF中的应用矩阵变换

UIElement和RenderTransform 首先,我们来看看什么样的对象可以进行变换.在WPF中,用于呈现给用户的对象的基类为Visual类,但是Visual对象并不具有变换功能,具有变换功能的是它的子类UIElement.这个类也是非常底层的类了,几乎我们所有的常用控件都是继承自它,也就是说,基本上所有的UI对象都是可以应用变换的. 然后,我们在再来看看UIElement中变换种类.UIElement支持两种变换:RenderTransform和LayoutTransform,其中La

十大角度看众筹如何演绎互联网+跨境农业?

从丁磊养猪开始,中国互联网+农业模式渐渐风靡,"一带一路"步步落地,跨境电商.全球经济共享等也越发流行.而以庄游为代表的平台则借助众筹模式玩起了互联网+跨境农业,并在中产阶级用户层引起了广泛的关注.怀着好奇心,刘旷采访了庄游创始人于奇楠先生. 从网瘾少年到梦想改变世界的父亲 互联网金融在国内的流行,让越来越多的人开始借助众筹模式创业,项目也是五花八门.对于庄游这样一个借助众筹模式玩互联网+跨境农业的创业项目,包括刘旷本人在内的很多人一开始都充满了好奇:为什么创始人会选择这样一个项目?于

《第一行代码——Android》封面诞生记

<第一行代码——Android>已经上市快一个月了,目前销售情况还算良好,也是特别感谢众多朋友的支持.其实一本书如果想要卖的好,除了内容必 须要给力之外,封面的设计也是至关重要的,而本书的封面无疑是在充实的内容之外又披上了一层华丽的外衣.作为作者,其实我的任务就是将内容写好而已,其它 所有相关工作都不是由我负责的.本书封面设计的所有细节都是由陈冰先生一手抓起的,之后他在图灵社区上记录了本书封面的诞生过程.在经过他同意的情况下, 我将这篇文章转到我的博客上,也是让感兴趣的朋友们了解一些不为人知的