当前位置: 首页 > 软件库 > 开发工具 > PHP开发工具 >

polarphp

新的 PHP 语言编译器和运行时
授权协议 PHP
开发语言 C/C++ PHP
所属分类 开发工具、 PHP开发工具
软件类型 开源软件
地区 国产
投 递 者 杭英杰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

为什么要做 polarphp 项目

随着GoNodeJS的强势崛起,PHP的市场份额逐渐被蚕食,而PHP官方仍然坚守在Web编程领域,有些东西越是想守住就越守不住。polarphp借鉴NodeJSGo的相关特性对zendVM重新封装,去掉PHP一些古老弃用的特性和强Web属性,通过实现一套新的运行时框架libpdk,将PHP语言打造成为一门真正的通用性脚本语言,赋能PHP,让其拥有异步编程,协程,线程,内置的unicode支持,标准的文件IO等等特性,让PHP程序员不仅仅能做web应用,也能从容面对真正的服务端应用。polarphp不是一门新的语言,而是PHP语言的一种运行时容器。

主要特性

  •  兼容最新的PHP语言标准,移除废弃语言特性

  •  内置unicode字符标准支持

  •  全功能型运行时库支持,支持异步编程,多线程和协程等等编程模式

  •  内置包管理器

  •  内置文档生成器

开发计划

因为开发资源有限,开发计划暂定如下:

  1. 使用cmakezend VM进行编译,生成polarphp定制版的PHP语言虚拟机

  2. 语言支持项目,语言测试框架,移植LLVM项目的lit测试框架

  3. 实现polarphp驱动程序,实现从命令行执行PHP代码

  4. polarphp虚拟机进行回归测试,暂定跑通PHP的语言虚拟机相关回归测试

  5. 实现polarphp的内置函数

  6. 发布核心虚拟机的docker镜像

  7. 整合libpdk运行时框架

  8. 实现人性化安装,尽量以最少的步骤进行polarphp的安装

  9. 实现包管理器

  10. 实现语言配套小工具,比如文档生成工具等等

  • polarphp 项目介绍 polarphp是一个全新的PHP语言的运行时环境,基于目前最新的zend virtual machine进行打造,支持最新的语言规范,同时提供了自己的运行时标准库 (libpdk)。 简单来说polarphp之于PHP语言的关系跟NodeJS之于Javascript语言一样,NodeJS在v8引擎基础之上进行打造,为Javascript提供了一个在服务端运行的环境。同

 相关资料
  • Go语言是编译型的静态语言(和C语言一样),所以在运行Go语言程序之前,先要将其编译成二进制的可执行文件。 可以通过Go语言提供的 或者 命令对Go语言程序进行编译: 命令可以将Go语言程序代码编译成二进制的可执行文件,但是需要我们手动运行该二进制文件; 命令则更加方便,它会在编译后直接运行Go语言程序,编译过程中会产生一个临时文件,但不会生成可执行文件,这个特点很适合用来调试程序。 下面就来演示

  • 翻译的结果是什么?它会把高级语言变成汇编语言还是机器语言,即二进制代码? 如果是后者,这是否意味着解释语言与介绍集没有关系? 一种语言只能有一个口译员?是因为解释器不做任何优化,所以我们不需要找到更好的解释器吗?

  • 在Windows下,可执行程序(Executable Program)大部分是 .exe 程序,它是一系列计算机指令和数据的集合。这些指令都是二进制形式的,CPU可以直接识别,毫无障碍;但是对于程序员,它们非常晦涩,难以记忆和使用。 计算机发展初期,程序员就是使用这些二进制形式的CPU指令来编写程序的。 直接使用CPU指令编程对程序员来说简直是噩梦,尤其是当程序比较大的时候,不但编写麻烦,需要频繁

  • 问题内容: 我正在尝试更好地理解它们之间的区别。我在网上找到了很多解释,但是它们倾向于抽象的差异,而不是实际的含义。 我的大部分编程经验都来自CPython(动态的,解释的)和Java(静态的,编译的)。但是,我知道还有其他种类的解释和编译语言。除了可以从以编译语言编写的程序中分发可执行文件这一事实之外,每种类型是否有优点/缺点?通常,我听到人们争辩说解释语言可以交互使用,但是我相信编译语言也可以

  • 问题内容: 我正在尝试更好地理解它们之间的区别。我在网上找到了很多解释,但它们倾向于抽象的差异,而不是实际的含义。 我的大部分编程经验都来自CPython(动态的,解释的)和Java(静态的,编译的)。但是,我知道还有其他种类的解释和编译语言。除了可以从以编译语言编写的程序中分发可执行文件这一事实之外,每种类型是否有优点/缺点?通常,我听到人们争辩说解释语言可以交互使用,但是我相信编译语言也可以具

  • 安装编译器或者 IDE(集成开发环境),也叫搭建开发环境。Windows 下的C语言 IDE 众多,多如牛毛,初学者往往不知道该如何选择,本节就来给大家指点迷津。 1) Visual Studio Windows 下首先推荐大家使用微软开发的 Visual Studio(简称 VS),它是 Windows 下的标准 IDE,实际开发中大家也都在使用。为了适应最新的 Windows 操作系统,微软每

  • 我正在尝试编译并运行以下程序,而不使用中的函数。我使用以下命令编译了程序。 编译器发出警告 好的,没问题。然后,我已经运行了可执行文件(a.out),两个< code>printf语句都打印成功,然后得到分段错误。 所以,我的问题是,为什么成功执行打印语句后会出现分段错误? 我的代码: 输出: 注意: 在这里, gcc 标志阻止编译器在链接时使用标准启动文件

  • 主要内容:编译型语言,解释型语言,总结通过高级语言编写的源码,我们能够轻松理解,但对于计算机来说,它只认识二进制指令,源码就是天书,根本无法识别。源码要想执行,必须先转换成二进制指令。 所谓二进制指令,也就是由 0 和 1 组成的机器码,能被计算机直接识别并执行。 然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定: 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(比如 W