为什么要做 polarphp 项目
随着Go
和NodeJS
的强势崛起,PHP
的市场份额逐渐被蚕食,而PHP
官方仍然坚守在Web
编程领域,有些东西越是想守住就越守不住。polarphp
借鉴NodeJS
和Go
的相关特性对zendVM
重新封装,去掉PHP
一些古老弃用的特性和强Web
属性,通过实现一套新的运行时框架libpdk
,将PHP
语言打造成为一门真正的通用性脚本语言,赋能PHP
,让其拥有异步编程,协程,线程,内置的unicode
支持,标准的文件IO
等等特性,让PHP
程序员不仅仅能做web
应用,也能从容面对真正的服务端应用。polarphp
不是一门新的语言,而是PHP
语言的一种运行时容器。
主要特性
-
兼容最新的
PHP
语言标准,移除废弃语言特性 -
内置
unicode
字符标准支持 -
全功能型运行时库支持,支持异步编程,多线程和协程等等编程模式
-
内置包管理器
-
内置文档生成器
开发计划
因为开发资源有限,开发计划暂定如下:
-
使用
cmake
对zend VM
进行编译,生成polarphp
定制版的PHP
语言虚拟机 -
语言支持项目,语言测试框架,移植
LLVM
项目的lit
测试框架 -
实现
polarphp
驱动程序,实现从命令行执行PHP
代码 -
对
polarphp
虚拟机进行回归测试,暂定跑通PHP
的语言虚拟机相关回归测试 -
实现
polarphp
的内置函数 -
发布核心虚拟机的
docker
镜像 -
整合
libpdk
运行时框架 -
实现人性化安装,尽量以最少的步骤进行
polarphp
的安装 -
实现包管理器
-
实现语言配套小工具,比如文档生成工具等等