KPHP 是一個 PHP 編譯器。它將 PHP 的有限子集編譯為運行速度比 PHP 更快的本機二進位。
KPHP 由 VK.com 開發,多年來一直保持專有狀態,直到 2020 年底開源。
造訪 KPHP 網站,其中包含文件、演示等。
KPHP 不會編譯任何隨機的 PHP 程式碼:
它不支援無法編譯的功能,例如按名稱或模擬呼叫。
它不會編譯破壞類型系統的程式碼,例如,在陣列中混合數字和物件。
它沒有 VK.com 從來不需要的 PHP 功能,例如 SPL 類別和 XML 解析。
一些 PHP 語法細節尚未實現,例如生成器和匿名類別。
請在此閱讀更多相關內容:KPHP 與 PHP 的差異。
KPHP 會從整體上分析您的程式碼,並執行各種專注於效能和安全性的最佳化:
推斷所有變數的類型,如何在 C++ 中宣告它們。
編譯時最佳化,例如內聯 getter 或減少引用計數器抖動。
編譯時檢查,包括不變性和類型系統要求。
運行時最佳化,例如常數數組預初始化和類型化向量。
除了上述之外,KPHP 還有協程。然而,目前它們在 VK 代碼之外幾乎不適用。
一般來說,當您的程式碼符合最佳實務時,它的運行速度比 PHP 快 3-10 倍。
查看比較 KPHP 和 PHP 效能的基準頁面。
您也可以參考PHP vs KPHP vs C++ 。
KPHP 並不總是比 PHP 快,但它可以透過專注於嚴格類型和 KPHP 內建函數來加速您的程式碼。
這種情況很常見。 KPHP 很少能無錯誤地編譯已經存在的程式碼。通常需要一些時間來重寫 PHP 程式碼才能與 KPHP 進行編譯。
在編譯現有專案中了解更多相關資訊。
KPHP 代表 VK.com (V Kontakte LLC) 根據 GPLv3 授權進行分發。
若要與 KPHP 社群進行交流,請使用 GitHub 問題或 Telegram 聊天。
您也可以查看我們的常見問題頁面和路線圖頁面。
請參閱貢獻頁面。
進入安裝頁面,只需按照左側選單進行操作即可。