polarphp 项目简单介绍

#为什么要做 polarphp 项目

随着GoNodeJS的强势崛起,PHP的市场份额逐渐被蚕食,而PHP官方仍然坚守在Web编程领域,有些东西越是想守住就越守不住,为了解决传统PHP语言的弱点,让PHP语言更好的去渗透到各个领域,所以polarphp编译器项目产生了。

#polarphp 编译器的定位

polarphp是一个编译器定位是一个PHP语言的编译器而不是解释器,同时polarphp编译器实现的是一个强类型版本的PHP方言。使用polarphp编译器开发的PHP项目编译后生成一个目标平台可执行的二进制文件,由操作系统直接加载并运行。

#主要特性

  • 保持绝大部分的PHP语言的语法,同时加上类型系统
  • 内置unicode字符标准支持
  • 全功能型运行时库支持,支持异步编程,多线程和协程等等编程模式
  • 内置包管理器
  • 内置文档生成器

#开发计划

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

  1. 制定编译器支持的PHP语言规范
  2. 制定polarphp中间描述语言规范(PIL)
  3. 实现自己的PHP编译器前端
  4. 语言支持项目,语言测试框架,移植LLVM项目的lit测试框架
  5. 使用phplit回归测试框架完成对polarphp编译器前端的测试
  6. 完成polarphp AST 到中间描述语言的转换
  7. 完成polarphp中间描述到LLVM IR的转换
  8. 使用phplit对语言结构到指令集所有编译模块的测试
  9. 完成编译器的驱动模块
  10. 实现PHP语言标准库pdk的底层架构 (cpp部分)
  11. 实现人性化安装,尽量以最少的步骤进行polarphp的安装
  12. 实现包管理器
  13. 实现语言配套小工具,比如文档生成工具等等
  14. 发动社区,实现一个功能完备的PHP标准库 (使用PHP代码配合pdk底层支持进行实现)

#社区

目前我们暂时只针对中国的用户,所以采用了微信和QQ群的交流方式,下面是二维码,有兴趣的同学可以扫码加入:

PS:扫码请注明来意,比如:学习polarphp或者PHP爱好者

#目前有以下工作组

  1. 语言核心团队
  2. 标准库团队
  3. 生态链项目团队
  4. 文档团队
  5. 官方网站维护团队