Microsoft PHP.Net ?

居然发现老外有个项目在把PHP搞成象。NET那样咯,核心是Framework 上把 PHP 编译为MSIL。
居然见http://www.php-compiler.net/,而且今年居然还FINAL 1.0出来了,这对象把PHP放到.NET平台上来的人说
是好消息。


20 February 2006: Phalanger version 1.0 (final) has been released and is available for download. Several new native extensions are now supported by Phalanger (Calendar, ODBC, WinBinder). MySQL extension is fully managed and works with the latest versions of MySQL server. The final version also fixes many bugs and adds functions and features of PHP 5.1.2. See change log for details


The Phalanger is a complex solution giving web-application developers the ability to benefit from both the ease-of-use and effectiveness of the PHP language and the power and richness of the .NET platform. This solution enables developers to painlessly deploy and run existing PHP code on an ASP.NET web server and develop cross-platform extensions to such code taking profit from the best from both sides. Compatible with PHP 5.0, the object model in Phalanger enables to combine PHP objects with the .NET ones. It is possible to use a class written in PHP from a .NET application or even to import a .NET class (written for example in C# or Visual Basic .NET) into PHP scripts provided that this class respects the PHP object model implemented in the Phalanger. The Phalanger is the only existing PHP compiler which produces .NET Framework MSIL bytecode.

From another point of view, Phalanger provides the .NET programmers with the giant amount of practical PHP functions and data structures - many of them reimplemented in the managed environment of the .NET Framework. The whole Phalanger class library (including functions implemented in the PHP extensions) is accessible to a .NET programmer regardless to her favorite programming language together with type information and in-library debugging.

For last but not the least, compilation of PHP scripts gives yet more power to the existing web applications in the Phalanger environment. All the static (run-time immutable) code in the scripts gets parsed and compiled only once and all following accesses to a page benefit from the unleashed execution of the native compilation of the script. Yet the usage of Phalanger is not limited to web applications. The compiler supports output of standalone executables or dynamic link libraries enabling you to create managed PHP console applications or library modules reusable from any other .NET Framework application.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巧用 Lazy 解决.NET Core中的循环依赖关系

原文作者: Thomas Levesque 原文链接:https://thomaslevesque.com/2020/03/18/lazily-resolving-services-to-fix-circular-dependencies-in-net-core/循环依赖的问题在构建应用程序时,良好的设计应该应避免服务之间的循环依赖, 循环依赖是指某些组件直接…

绝句

新世纪“绝”句上联:男生,女生,穷书生,生生不息! 下联:初恋,热恋,婚外恋,恋恋不舍!横批:生无可恋 上联:博士生,研究生,本科生,生生不息&#xff…

java的编译器怎么出来_怎样掌握ava编译器的使用,教程在这里,如何进行Java初级学习...

原标题:怎样掌握ava编译器的使用,教程在这里,如何进行Java初级学习Java的学习中,并没有那么的繁琐,只需要我们逐步掌握,就能够发觉java是全世界最好的编程语言之一。那么今天就带领大家进行简单的JAVA初级学…

小试elsa

最近工作需要,在调研BMP产品(开源和商用),重点了解了activiti和它的商业产品Alfresco Process Services,这是java的体系,成熟,完善(三方开源库是java多年开源积累下的最宝贵的财富),…

如何判断当面的网页加载完成?

if(document.readyStatecomplete){ window.alert(加载完成!); } 转载于:https://www.cnblogs.com/MaxIE/archive/2006/03/24/357504.html

java抠图人物背景图片_如何进行人物抠图?让你快速完成复杂背景人像的在线抠图...

大多数男生心目中都有一个女神,虽然在其他人眼中不过是普通人,但是在自己眼中她怎么看怎么有魅力。当然对于女神提出的各种各样的“要求”或是请求,你们定然是不会轻易拒绝的。但若是女神需要你帮忙抠图,你知道如何进行人物抠图吗…

如何在 C# 中使用 MSMQ

MSMQ 是 Windows 自带的消息队列,它提供了在多机器,多系统之间实现可靠的消息互联,MSMQ 支持可扩展,线程安全,使用简单等强势特性。MSDN 上说:消息队列技术使不同时刻运行的程序可以在异构网络或者异构系统…

關于招聘新人

時間真的是過得很快﹐自2004年接手web團隊﹐一晃都2年多了﹐在這期間﹐目睹了單位上發生的一些事情﹐感受頗多﹐在這里﹐把有關"招收新人員"一些經驗﹐總結如下﹐備以后參考﹕(1) 選一個合適的人 在一個團隊中﹐最忌諱那種"心高氣傲"之人﹐這種人如果…

卡屏java_Java drawImage到屏幕上一卡一卡的

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼public void run() {while(T1.isAlive()true){try {Thread.sleep(FrameRate);} catch (InterruptedException e) {}if(this.NowIndex{this.NowIndex;}else{this.NowIndex0;}}}这是一组图片的线程NowIndex代表这组线程需要读取的那张…

从内存中释放Selenium chromedriver.exe

背景我设置了一个c#代码来运行Selenium chromedriver.exe.在运行结束时,我有browser.close()来关闭实例。(browser webdriver.Chrome())我相信它应该从内存中释放chromedriver.exe(我在Windows 7上)。但是每次运行后&…

防止多次提交的几个比较

1、利用Session(viewState是不行的,viewState要回传才能读到数据)如果有个数据包类StockBillMP,则设定privateStockBillMP M_saveobj { get { return (Session["saveobj"] null)?null:(StockBi…

java 代码块 作用_Java核心(三):代码块的作用

Java中用{ }括起来的代码段就是代码块,他分为如下几种类型位置作用局部代码块在方法当中使用,作用是控制变量的生命周期。局部代码块的变量,只能在代码块内部使用,在执行结束后会被Java回收构造代码块在类的成员位置使用。在每次执行构造方法…

【日常排雷】 .Net core 生产环境appsetting读取失败

关键词System.ArgumentNullException: String reference not set to an instance of a String. (Parameter s)1.问题出现某年某月某日,把webapi开发完了,也通过了swagger进行了单元测试。dotnet build dotnet publish -o publish dotnet .\publish\xx.We…

男人必看得5个故事

男人必看得5个故事 1、 情况不同 一只小猪、一只绵羊和一头乳牛,被关在同一个畜栏里。有一次,牧人捉住小猪,牠大声号叫,猛烈地抗拒。绵羊和乳牛讨厌牠的号叫,便说:「他常常捉我们,我们并不大呼小…

java1.8 lambda表达式_java1.8之Lambda表达式

行为参数化为了应对多变的需求,难道我们就要因为客户每提出一个需求,我们就要写一个方法去实现吗?显然这样做很冗余,而且维护性大大降低,这说明代码的设计不够好。好在已经有前人帮我们提出了行为参数化思想(即将一段代…

ABP vNext 自动注入,暗藏天坑如斯

导言我们在使用ABP vNext框架时,都知道该框架为我们实现了自动依赖注入(实现自动注入需要在项目里面创建Module类,并且将Module类上的DependsOn到相应的启动Module类或调用Module类,这步很关键)自动注入示例只要我们实现如下接口:…

Community Server系列之四:Ajax在CS2.0中的应用1

Ajax技术在时下很热门,当然在CS2.0中也不例外的运用到了此技术,CS2中没有使用任何第三方Ajax控件,这就给我们提供一个研究Ajax机理的好地方,现介绍一下在CS2中Ajax的一些简单应用,并分析应用的原理。 我想要研究此技术…

为什么人和人的差距这么大?

点击蓝字关注,回复“职场进阶”获取职场进阶精品资料一份这是一篇去年写的旧文,不少读者从这篇文章中获得了一些方法和力量,于是再分享下:工作和生活中不光要埋头干活,还要抬头看天。思考总结方法论是提升认知的必备途…

github可以传java吗_如何在github上传本地项目代码(新手使用)----亲测使用

首先你要在github上申请一个账号然后你要下载一个git工具进入官网直接下载就行,下载完成后进入github首页,点击新项目new repository(新建),如下图所示:然后进入如下页面,主要填写红色圈起来的几个部分,如下…

英才评测 个人性格倾向 IT知识

网址http://www.01hr.com/testcenter/index_ccw.jsp?id9203&clid1135238483687 转载于:https://www.cnblogs.com/sutengcn/archive/2006/05/06/392790.html