polarphp新的 PHP 語言編譯器和運行時
為什么要做 polarphp 項目
隨著Go和NodeJS的強勢崛起,PHP的市場份額逐漸被蠶食,而PHP官方仍然堅守在Web編程領(lǐng)域,有些東西越是想守住就越守不住。polarphp借鑒NodeJS和Go的相關(guān)特性對zendVM重新封裝,去掉PHP一些古老棄用的特性和強Web屬性,通過實現(xiàn)一套新的運行時框架libpdk,將PHP語言打造成為一門真正的通用性腳本語言,賦能PHP,讓其擁有異步編程,協(xié)程,線程,內(nèi)置的unicode支持,標準的文件IO等等特性,讓PHP程序員不僅僅能做web應(yīng)用,也能從容面對真正的服務(wù)端應(yīng)用。polarphp不是一門新的語言,而是PHP語言的一種運行時容器。
主要特性
-
兼容最新的
PHP語言標準,移除廢棄語言特性 -
內(nèi)置
unicode字符標準支持 -
全功能型運行時庫支持,支持異步編程,多線程和協(xié)程等等編程模式
-
內(nèi)置包管理器
-
內(nèi)置文檔生成器
開發(fā)計劃
因為開發(fā)資源有限,開發(fā)計劃暫定如下:
-
使用
cmake對zend VM進行編譯,生成polarphp定制版的PHP語言虛擬機 -
語言支持項目,語言測試框架,移植
LLVM項目的lit測試框架 -
實現(xiàn)
polarphp驅(qū)動程序,實現(xiàn)從命令行執(zhí)行PHP代碼 -
對
polarphp虛擬機進行回歸測試,暫定跑通PHP的語言虛擬機相關(guān)回歸測試 -
實現(xiàn)
polarphp的內(nèi)置函數(shù) -
發(fā)布核心虛擬機的
docker鏡像 -
整合
libpdk運行時框架 -
實現(xiàn)人性化安裝,盡量以最少的步驟進行
polarphp的安裝 -
實現(xiàn)包管理器
-
實現(xiàn)語言配套小工具,比如文檔生成工具等等
