为什么要做 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的安装 -
实现包管理器
-
实现语言配套小工具,比如文档生成工具等等